Für die Lösung einiger Probleme, haben wir Rekursive Formeln erarbeitet, welche i.A. von Parametern isolierte Insellösungen finden. Die Lösungen sind deshalb in Inseln, weil die beschreibenden Funktionen lokale Minima aufweisen. Obendrein haben sie Knicke. Ich möchte gerne einen Lösungssatz erzeugen, welcher es ermöglicht, bei gegebenen Parametern in eine Tabelle zu schauen und einen Ansatz zu haben, wie man die Lösungsparameter einstellen kann, um zu einer Endlösung zu kommen. Dafür muss jede Rechnung mit unterschiedlichen Parametern durchgespielt werden. Leider haben einige Formeln sehr viele Parameter und es sind auch nicht wenige Formeln. Ich habe begonnen, einiges in MATLAB zu entwerfen, aber das dauert irgendwie ewig, bis ich die Rekursion einprogrammiert und mit Schleifen zur Ansteuerung mit den Parametern umgeben habe. In einem Forum bekam ich den Tipp, es mit Python zu versuchen. Lässt sich das irgendwie automatisieren? Ich hätte gern ein script, dass die Formel liest und in ein Pythonprogramm übersetzt, das dann seinerseits Unterprogramme/-scripte auf die Platte schreibt, die dann die richtige Codierung für die einzelnen Fälle enthalten und die mit MATLBA (oder eben Python) ausführbar sind. Denkt ihr, dass das geht?
Tobias N. schrieb: ... > > In einem Forum bekam ich den Tipp, es mit Python zu versuchen. Lässt > sich das irgendwie automatisieren? Ich hätte gern ein script, dass die > Formel liest und in ein Pythonprogramm übersetzt, das dann seinerseits > Unterprogramme/-scripte auf die Platte schreibt, die dann die richtige > Codierung für die einzelnen Fälle enthalten und die mit MATLBA (oder > eben Python) ausführbar sind. > > Denkt ihr, dass das geht? Ja, schau dir mal das 'generator'-Konzept an. Du kannst dir da deine kleine Fabrik aus Funclets erzeugen, mit denen du allenfalls zum Ziel kommst. Aber: Schreib die Formel doch gleich in Python hin, die Wiederverwertbarkeit ist besser, und du brauchst die Translation nicht extern erledigen, das geht alles prima "inline". Besser, du schreibst dir dann deine passenden Konverter (auch via Generatorklassen), die in Matlab/LaTeX oder was auch immer ausgeben. So als Beispiel könntest du dir MyHDL anschauen. Das ist eine Bibliothek, die Python-Ausdrücke in Hardware-Beschreibung übersetzt. Darauf aufbauend gibt es einige Module, die z.B. aus einer Formel die entsprechende Hardware-Pipeline generieren und die korrekte Funktion überprüfen (simulieren), dem ist vom Python-Funktionsumfang her kaum Grenzen gesetzt. Nur das Selbst-Parsen per AST ist etwas schwerfällig. Es gibt auch Leute die sagen: "Numpy/sciplot ist das bessere Matlab". Wenn du nicht zwingend auf matlab-Kompatibilität angewiesen bist.
Könnte man die Formeln nicht direkt mit dem Matheprogramm umformulieren / ausformulieren lassen?
Jürgen S. schrieb: > Könnte man die Formeln nicht direkt mit dem Matheprogramm umformulieren > / ausformulieren lassen? Das schwebt mir ja vor :-) Jörg W. schrieb: > Vielleicht machst du ja ein Beispiel? Schwierig. Dann müsste ich konkretes Wissen der Firma darstellen.
Beitrag #5877442 wurde von einem Moderator gelöscht.
Auf Anhieb würde ich sagen: Wenn Du Funktionen durch andere Funktionen programmieren willst, machst Du etwas falsch. Meistens gibt es einen Ansatz, die gewünschte Funktion systematisch zusammenzusetzen. Wenn Dich das nicht stört: In Matlab kannst Du natürlich auch Quelltext, der in Matlab erzeugt wird, ausführen. eval()/feval()
Walter T. schrieb: > Auf Anhieb würde ich sagen: Wenn Du Funktionen durch andere Funktionen > programmieren willst, machst Du etwas falsch. Ich möchte die Struktur abtrahier analysieren und mit einem Parser oder Übersetzer oder Compiler erstellen lassen. Eine einfache Formel kriegt MATLAB auch ins C übersetzt, aber es erkennt nicht, wie man die Rekursion so aufsetzen kann, dass es optimal ist, welche Variationen es gibt. Das müsste per Hand ausprobiert und simuliert werden. Man kann MATLAB aber diese Randbedingungen nicht mitteilen. Ich kann sie nur verbal fomulieren. Die Struktur der Formeln ist so ähnlich, dass ich denke, dass es sich lohnen müsste, ein Script dafür zu machen. MATLAB reicht aber mit seiner Mächtigkeit nicht dafür aus. Daher kam ich auf Python und sogleich auf die Idee, es komplett in Python zu machen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.