Moin,
ich bin jetzt schon öfter über Probleme gestolpert, bei denen ich ein System recht gut und einfach über ein paar Gleichungen (auch Differentialgleichungen) beschreiben kann. Wenn ich mir aber das Verhalten des Systems veranschaulichen will, z.B. via Gnuplot, muss ich eine geradlinig berechenbare Lösungsformel haben. Diese zu gewinnen ist nicht immer einfach, nicht selten unmöglich (nur numerisch ist die Lösung zu finden).
Was ich mir da wünschen würde, wäre ein Programm, das mir in dem Fall komfortabel weiterhilft. Ich würde eine Eingabedatei erzeugen, die beinhaltet die das System beschreibenden Gleichungen, z.B. so:
I1 + I2 = I3 * I4; U1 = I1*10; log(U3) = I4; ......
Die Reihenfolge sollte egal sein dürfen, auch braucht es keinen Unterschied zwischen rechten und linken Seiten einer Gleichung: Alle Gleichungen müssen einfach nur erfüllt sein. Man gibt einfach nur alle Gleichungen ein, die man kennt und das Programm rechnet einem die Werte der Variablen aus, so dass allen Gleichungen genüge getan ist. Wenn's keine Lösung gibt, gibt's Fehlermeldung.
Erweiterung: Ableitungen gibt's auch:
U5 = 23 * I'5; // I'5 meint Ableitung dI5/dt .....
Am Ende dann ein OUTPUT t(0 TO 10 STEP 0.01) U1, I1, U5
was mit die Zeit in 0.01-Schritten tabellarisch mit den genannten Größen ausgibt.
Es ist klar, dass es einige Programme zum Lösen von Gleichungssystemen gibt, auch Programme zum Lösen von nichtlinearen Gleichungssystemen, wohl auch Programme zum numerischen Lösen von Differentialgleichungen. Aber alle diese Programme sind erstens in ihrer Handhabung so schwierig, dann man für das Erlernen der Bedienung mehr Zeit investiert, als viele Menschen jemals von Hand brauchen würden, um die Probleme die sich im Laufe der Jahre stellen zu lösen*).
Und allermeistens sind solche Numerikprogramme immer so aufgebaut, dass man den Lösungsweg schon bei der Eingabe/Beschreibung des Problems kennen muss.
Kennt jemand die Sprache von METAFONT, dem Anhängsel von TeX zur Erzeugung von Zeichensätzen? Da konnte man auch die Lage von Punkten (Stützstellen für Splines und so) durch eine willkührliche Aufzählung von Bestimmungsgleichungen beschreiben. Bedingung war nur, dass alle eingegebenen Gleichungen zusammen ein lösbares lineares Gleichungssystem ergaben. Das fand ich faszinierend.
*) Was bei vielen Programmen oft für Selten-Benutzer unpraktisch ist, dass man gewisse Funktionen zwar braucht, aber so selten, dass man sich jedesmal wenn man sie braucht wieder neu einarbeiten muss. Toll, wenn das Programm mein Problem in 5 Minuten löst, aber ich neige persönlich dazu, die 5 Stunden Einarbeitungszeit auf die 5 Minuten draufzuschlagen und komme zu dem Ergebnis, dass das Programm 5,05'' für meine Lösung gebraucht hat. Da wird ein sehr primitiv arbeitendes Programm mit robusten Näherungsverfahren schnell konkurenzfähig.Ich bin am Überlegen, wie man das programmiert, hab etwas Bedenken wegen dem Formelparser, der Rest ist mir ansatzweise klar...
CU Rollo