WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Eine Gleichung mit zwei unbekannten

 

samad
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 01.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2012, 09:35     Titel: Eine Gleichung mit zwei unbekannten
  Antworten mit Zitat      
hallo alle.
Ich habe eine quadratische Gleichung mit zwei unbekannten. Die Konstanten sind Array of cell die ich in Matlab rein lesen kann.
Hier ist meine Gleichung:
Code:

equation = zim*U_over*c^2+(i*w*c)+zim*U_over;

% zim ist imaginere Daten
% U_over ist Überspannung
% c ist Kapazität
% w ist 2.pi.f unf frequenz kann von Daten gelesen werden also bekannt.
 

Hier müss ich zwei unbekannten finden(c & U_over). Ich habe nach fminserach gesucht aber es funktioniert leider nicht. Wie kann ich am besten diese Gleichung lösen???

Hier ist mein CODE:

Code:
============================================================================
function equation = two_var(v)
 
close all;
clc
fid1 = fopen('C:\THALES\temp\EISTests\eis2007uhr1135.txt');
 
column = textscan(fid1,'%f %f %f %f %f %f','headerlines',19,'commentstyle','--');
 
%==========================================================================
%Data in Cell Array
%==========================================================================
Freq    =      column{2};
Z       =      column{3}*1000;
Phase   =      column{4};
Time    =      column{6};
 
ColumCounter = length(Freq);
Step=(1:1:ColumCounter);

%==========================================================================
%Variables in Cell Array Format
%==========================================================================
x       =      Z.*sin(Phase);   %Imaginer Impedance
zim     =      x.*i;            %Imaginer Impedance
zreal   =      Z.*cos(Phase);   %Real Impedance
w       =      Freq.*2*pi;      %angular frequency
 
 
v = [0 1]; % Anfangswerte
 
c = v(1);
U_over = v(2);
equation = zim.*U_over*c^2+(i*w*c)+zim*U_over;
 

f1 = fminsearch(@two_var,v);
end
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.07.2012, 09:43     Titel:
  Antworten mit Zitat      
Hallo,

eine Gleichung mit zwei Unbekannten hat allgemein keine eindeutige Lösung. Hier könnte man c durch Uover ausdrücken oder umgekehrt.

Das kann man sogar von Hand auflösen. Wenn es automatisch passieren soll, müsste man die Symbolic Math Toolbox verwenden:
Code:

syms zim U_over w c
solve(zim*U_over*c^2+(1i*w*c)+zim*U_over, U_over)

solve(zim*U_over*c^2+(1i*w*c)+zim*U_over, c)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
samad
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 01.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2012, 10:27     Titel:
  Antworten mit Zitat      
Danke Harald.

An das hier habe ich auch gedacht. aber ich habe leider kein Symbolic math toolbox. also sym und syms funktionieren beide nicht bei mir.

wie kann ich dieses Toolbox installieren? oder hast du ne andere Idee. z.B ("Minimizing Functions and Finding Zeros")? das kann man beim tippen(f min search) in der Mathlab Suche finden. aber ich weis nicht wie ich es verwenden kann?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.