(Wobei Gleichung3 und Gleichung4 gleich NULL sind)
Rein mathematisch würde ich beide Gleichunge nach einer Unbekannten auflösen und gleichsetzten und danach lösen. Jedoch gibt mir Matlab eiine Fehlermeldung beim umformen aus. Ich benutzte folgenden Code für die umstellung:
Das ist keine hilfreiche Information. Gab es eine Fehlermeldung? Welche? Wich das Verhalten vom erwarteten ab? Inwiefern?
Für dein gegebenes Beispiel macht der Vorschlag jedenfalls das gewünschte.
Zitat:
habe es nach einer anderen Methode gemacht
Im Interesse anderer Forum-Nutzer sollte man dann schreiben, welche Methode genutzt wurde.
Zitat:
Die Fehlermeldung lautet:
Es ist keine Fehlermeldung, sondern eine Warnung. Das Problem: wenn es keine explizite Lösung gibt (also b nicht als Formel von u dargestellt werden kann), dann kann MATLAB auch keine finden.
Ausweg: numerische Lösungen suchen, z.B. mit
fsolve
.
Das mit dem Befehl fsolve habe ich schon sehr oft gelesen. Und das es numerisch gelöst werden muss, verstärkt meine Thorie, dass ich auf dem richtigen Weg bin. Ich habe auch die funktion fsolve verwendet. Aber ich habe 2 unbekannte und zwei Gleichungen. In der Matlabhilfe für fsolve ist immer nur eine Glecihung und eine Unbekannte aufgeführt. Mein zu lösende Gelichung sieht wie folgt aus:
Dieser code ist ein stark abgewandelte Version meines echten Codes. Die Glechung muss ausserhalb der Funktion deklarierrt werden.
und das gebe ich im Consolenfenster ein:
Code:
x0 = [-5; -5]; % Make a starting guess at the solution
options = optimoptions('fsolve','Display','iter'); % Option to display output [x,fval] = fsolve(@LW_Berechnung,x0,options)% Call solver
Gab es eine Fehlermeldung? Welche? Wich das Verhalten vom erwarteten ab? Inwiefern?
Das du einmal ein script hast, wo ne Funktion drin ist und dann noch im Command Window ein script abarbeitest, verwirrt mich etwas.
mEn sollte die Funktion schon extra als Datei sein
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
und wenn ich dann die berechneten Werte haben will (u und fi) gebe ich im Commandofenster folgendes ein:
Code:
x0 = [-5; -5]; % Make a starting guess at the solution
options = optimoptions('fsolve','Display','iter'); % Option to display output [u,fi,fval] = fsolve(@JM_Berechnung,x0,options)% Call solver
Soo genau kenne ich mich nicht damit aus, aber es scheint mir als hättest du einen Verständnisfehler.
Deine Funktion, die du lösen willst, sollte nicht mit syms arbeiten müssen, sonst musst du da auch wieder lösen.
Schau dir mal das von dir gepostete Beispiel genau an.
Und -ich weiss ja nicht wie flexibel Matlab jetzt ist- früher "gehörte" eine Funktion auch in eine seperate Datei.
Tipp: Diese Funktion muss (mit passenden Werten) irgendetwas sinnvolles zurückgeben können, damit fsolve was damit machen kann.
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Letztendlich habe ich ja nur zwei Funktionen die gelöst werden sollen numerisch. Zweigleitungen mit zwei unbekannten. Das muss doch mit matlab möglich sein. Dir unbekannten variablen muss ich ja mit syms deklarieren.
Dir unbekannten variablen muss ich ja mit syms deklarieren.
warum? du willst doch nummerisch rechenn und nicht analytisch. du hällst dich nicht and die beispiele aus der doc und die vorschläge.
funktionen gehören in eine eigene datei. das andere sind anonyme funktionen.
bei jedem funktionsaufruf die daten neu einzulesen ist sehr zeitaufwending. also entweder die daten vorher einlesen und übergeben oder mit
persistent
arbeiten.
ich würde ersteres machen.
deine schleifen kann man durch
sum
ersetzen
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
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.