WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

C-Code-S-Function? compilierbare Matlab-Functions?

 

SeeSharp
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 18.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2012, 16:01     Titel: C-Code-S-Function? compilierbare Matlab-Functions?
  Antworten mit Zitat      
Hallo!

Ich arbeite oft mit Systemen der Art:
x_punkt = A*x + b*u
y = cT*x

oder

x_punkt = f(x) + g(x)*u
y = h(x)

wobei eben x meine Zustände darstellen und u den Eingang.

Für diese Modelle möchte ich gern eine C-Code-S-Function haben, welche autogeneriert werden soll.
Derzeit habe ich dafür in Package für Maple wo ich eben meine Diff.gleichungen in Maple eingeben muss und dann damit eben so eine C-Code-S-Function generieren kann.

Vor einem Monat hatte ich mal mit jemand darüber diskutiert und er meinte das braucht man eigentlich nicht mehr, da man ja mit aktuelleren Matlab-Versionen, Simulationen dieser Art viel eleganter durchführen kann. Stichwort "compilierbare Matlab-Functions".
Ich habe dann mal ein bisschen gegoogled und bin leider nicht recht fündig geworden.

Weiß vielleicht jemand was damit gemeint ist bzw. hat schon mal jemand was damit gemacht?

MFG
SeeSharp
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 01.02.2012, 16:21     Titel:
  Antworten mit Zitat      
Ich habe mal von diesem Maple-basierten Tool gehört, mehr aber nicht.

Die beschriebenen System sollten recht einfach in Simulink implementierbar sein, warum ist dann ein anderen Code erwünscht?

Wie auch immer, mit "compilierbaren MATLAB functions" ist vermutlich der Embedded MATLAB Function Block gemeint. Vielleich einfach mal den MATLAB Coder anschauen:

http://www.mathworks.de/products/matlab-coder/

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
SeeSharp
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 18.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2012, 22:10     Titel:
  Antworten mit Zitat      
Im Prinzip möchte ich einen C-Code.
Klar das kann ich mir selbst schreiben. Aber autogenerated wäre natürlich schon sehr praktisch.

Vor allem wenn man mal mit größeren und komplexeren Systemen wirkt. Ist per Hand praktisch nicht mehr möglich.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gradl_Christoph
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 19.09.11
Wohnort: Pregarten
Version: ---
     Beitrag Verfasst am: 26.02.2012, 10:27     Titel:
  Antworten mit Zitat      
Hallo,
ich arbeite selber min SimCode (http://regpro.mechatronik.uni-linz.ac.at/downloads/software/SimCode/ --> ist nicht die aktuellste Version).

Ganz habe ich deine Frage nicht verstanden. In älteren Matlab Versionen war es möglich, aus einer M-Code S-Function eine C-S-Function zu erstellen (mit dem Befehl mex). Jedoch bekommt man bei der aktuellen Version immer die Meldung, dass dies nicht mehr nötig ist, da kein Geschwindigkeitsvorteil daraus resultiert.

Ich habe jedoch die Erfahrung gemacht mit einem kleinen Testprogramm, dass dennoch Geschwindigkeitsvorteile vorhanden sind.

BG
Christoph
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.