|
Kasia |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.12.2009, 11:30
Titel: fsolve
|
|
|
|
|
Hallo,
ich hätte folgendes Problem, mit dem ich mich schon ein bisschen den Kopf breche und hoffe, dass mir jemand dabei helfen könnte. Es geht um folgende Sache:
Ich hbe ein Programm geschrieben (allgemein werde ich nicht beschreiben), wo ich eine (n*1) Matrix A (also eingentlich ein Spaltenvektor) habe, die sich im Laufe des Programms ändert (sowohl die Einträge als auch die Dimension). Der Vektor hängt von den Variablen x1,x2,x3 und die sind vom Typ syms. Ich versuche auf den Vektor fsolve anzuwenden ( brauche das Gleichungssystem zu lösen) aber es klapt nichts d.h.
ich habe A als global und syms definiert, dann kann ich nicht
function f = f1(x1,x2,x3)
f=A
end
schreiben, weil "Function is not defined for 'sym' inputs." Deklariere ich A nicht als global, dann muss ich sie im Klammer als Eingabeparameter hinschreiben und wenn ich fsolve drauf anwende, dann kriege ich zwar die Lösung, die aber komplett falsch ist ([0;0;0]). Definiere ich A nicht als syms dann kann ich wieder dann (keine Ahnung warum) nicht A(1:m,=B;
und A(m+1,=b, wobei B,b vom Typ syms sind.
Kann mir jemand vielleicht helfen?
Danke schön im Voraus!!!
Kasia
|
|
|
|
|
Thomas84 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.12.2009, 06:56
Titel:
|
|
Hallo,
mit fsolve kann man ein Gleichungssystem numerisch lösen, da du aber symbolische Variablen verwendest nehme ich an das du die analytische Lösung haben willst. Dazu kannst du die Funktion solve verwenden. Bei dieser Funktion muss man allerdings alle Funktionen einzeln eingeben. Das ist in deinem Fall wahrscheinlich etwas unhandlich.
Vielleicht kannst du dein Problem noch mal genauer beschreiben (numerisch/analytisch,...) ?
viele Grüße
Thomas
|
|
|
Kasia |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.12.2009, 08:45
Titel:
|
|
Ok,
ich vesuche es noch besser zu erläutern. Ich möchte eine neumerische Lösung. Die Sache ist die: ich will einfach in einer while-Schleife, die das Programm x-Mal ausführen soll jeweils eine numerische Lösung des Gleichungssystems kriegen. Das System kann sich aber bei jeder Durchlauf der Schleife ändern, und ist als eine Matrix gespeichert. Ich weiß nicht, wie ich die Variablen, die als syms deklariert sind (was ich brauche, weil ich auch ab und zu die Jacobi-Matrix berechnen muss) in reele o.Ä. Variablen ändern kann, und versuchte das Problem so zu lösen, wie ich in der früheren Nachricht beschrieben habe. Es hat aber alles bisher nicht geklappt.
Danke im Voraus für die Hilfe und schönes Weihnachtsfest an alle!!
Kasia.
|
|
|
Thomas84 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.12.2009, 13:15
Titel:
|
|
Ich denke matlabFunction kann dir weiterhelfen, damit kannst du die symbolische Funktion in eine Matlab-Funktion umwandeln.
dir auch ein schönes Weihnachtsfest
Thomas
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2024
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.
|
|