Verfasst am: 28.09.2011, 16:33
Titel: von .m in .c (Unterschied Matlab und C++ Syntax)
Hi,
ich bin gerade dabei einen Gleichstrommotor mit Hilfe Matlab/Simulink unter Verwendung von S-Functions zu simulieren. Dabei müssen für das dynamische Verhalten so einige DGL´s gelöst werden. Ich bewerkstellige dies per Runge-Kutta-Verfahren in m-Files.
Kleines Beispiel:
Da es jedoch zu enormen Rechenzeiten führt möchte ich dies in C in eine c-File überführen um es anschlißend per mex-Befehl zu kompilieren.
Da ich bis jetzt noch keine Erfahrung mit Programmieren hatte und die Lösung in Matlab schon viel Zeit in Anspruch nahm, stehe ich in C durch die abweichende Syntax wieder auf dem Schlauch. Kann mir jemand nen Ansatz liefern?
warum ich das mache...weil mein betreuender hochschullehrer das so will.
geht auch darum, dass unterschiedliche programme mit der selben funktion unterschiedliche werte liefern. sucht man zBsp in matlab und mathcad per newton-funktion nullstellen, so geben beide unterschiedliche werte aus. es lässt sich schwer in die algorithmen der programme schauen, daher um es identisch zu halten muss ich halt alle numerischen verfahren per hand eintippern.
das problem mit dem c-code habe ich nun auch lösen können. die ganzen { und } haben es mir doch so verdammt schwer gemacht. vergisst man eine so funzt alles net wie es soll
so far...close
das ist, wie wenn man einen alten klapprigen Käfer, der sich kaum noch vom Fleck bewegt, einer Auswahl von schönen Neuwägen vorzieht, weil man bei dem alten Käfer sieht, was vor sich geht.
Das Runge-Kutta-Verfahren mag dir zwar überall die *gleichen* Ergebnisse liefern, aber es ist doch sehr fraglich, ob es *gute* Ergebnisse liefert. Ich würde bestenfalls zu Übungszwecken selbst einen Löser schreiben.
Grüße,
Harald
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
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.