Expertensystem zum Plotten eines Gleichungssystems nach einer Variable

Gast #4458638
Lesenswert?
• ▲
▼
Hallo,

ich habe mehrere Gleichungen f1,f2,f3,...fk mit mehreren abhäniggen 
Variablen fk(x1,x2,x3...). Ich möchte jetzt eine Gleichung in 
Abhänigkeit eines Parameters plotten, dabei sind die anderen Parameter 
konstant vorgegeben. D.h. in Summe ist die Lösung eindeutig.

Allerdings möchte ich jetzt nicht händisch alle Formeln umstellen und 
einsetzen sondern lieber alle Formeln definieren, die 
nicht-zu-verändernden Parameter vorgeben und dan am liebsten eine 
Funktion in Abhängikeit der noch übrigen einen Variable plotten.

Als Ergänzung möchte ich dann nich nur eine variable als Parameter 
sondenr z.b. 2 und dann ein 3D Plot machen.

Mit welchem Tool kann man das am einfachsten machen? Matlab?
Am liebsten soll es dann aus mehreren gleichungen auch noch die 
analythische lösung nach der gesuchten Größe ausspucken.


Danke
#4458798
Lesenswert?
• ▲
▼
Ich hab grad einen Ausschnitt gefunden, der eine Differenztialgleichung 
löst.
1
u_c = dsolve('Du_c + u_c / tau = u_e / tau', 'u_c(0) = 0', 't');    %Differentialgleichung lösen
2
u_c = subs(u_c);                                                    %Symbolische Konstanten ersetzen
3
double(u_c);                                                        %Typecast auf double
4
i = (u_e-u_c)/(R1+R2);
5
u_1 = i*R1;
6
u_2 = i*R2;
7
u_a = u_1+u_c;

Mit solve sollte es nicht viel anders gehen
Gast #4458801
Lesenswert?
• ▲
▼
Wenn es eher analytisch ist, nutz Maple, sonst ist Matlab voll ok ;-) 
Definiere einfach deine Funktion, setze die PArameter fest die du kennst 
und lasse dir die restlichen Funktionswerte in einer Schleife über den 
Bereich berechnen der dich interessiert und danach plotten.

Ja, Matlab kann auch symbolische Gleichungen handhaben, aber so ganz 
dafür gedacht ist es doch nicht... Wenn sich dein Problem mit obiger 
Methode erschlagen lässt ist das zwar quick&dirty aber funktioniert
Gast #4458839
Lesenswert?
• ▲
▼
Danke, habs hinbekommen.
Vorgehen (es folgt ein sinnfreies beispiel)
1. definieren der Variablen
syms y2 x eta
2. vorgeben bekannter größen, bzw. sweep der zu untersuchenden variable
a = 5
b = 5   (oder b = 1, 2, 3 ... nacheinander)
3. Definieren von allen Gleichungen als :
eqn1 = y2 == 1+3x+5*sin(eta*a+b)
eqn2 = ...
eqn3 = ...
4. lösen lassen
S = solve(eqn1,eqn2,eqn3...)
5. gesuchten wert plotten, wert steckt z.B. in
S.x

Momemtan ist die Lösung noch nicht ganz optimal, da für ein sweep 
jedesmal das komplette gleichungssystem neu gelöst wird ;-)
#4459727
Lesenswert?
• ▲
▼
>Momemtan ist die Lösung noch nicht ganz optimal, da für ein sweep
jedesmal das komplette gleichungssystem neu gelöst wird ;-)


Der Standardansatz fuer ein lineares System ist hier mit Mathe 
dahinterzugehen. Ist das System ueberbestimmt, macht man Fits umd die 
Anzahl Variablen zu minimieren.
Und wenn die Variablenanzahl minimal ist, kann man diagonalisieren, um 
die Zusammenhaenge zu entflechten.

Ich kenn Systeme, da loest man fuer jeden Punkt eines Graphen iterativ 
ein Integral und minimiert das Integral nach einem Parameter.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.