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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren