|
|
figure in Embedded Matlab Function |
|
Micha |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.04.2008, 19:49
Titel: figure in Embedded Matlab Function
|
|
Hallo Forum,
da ich leider noch nicht so fit bin in grafischer Darstellung, muss ich mich mal kurz ans Forum wenden.
Ich muss in einer Embedded Matlab Function berechnete Werte sozusagen in Echtzeit zeichnen lassen. Meine Function führt sozusagen derzeit bei jeden Zeitschritt den kompletten Code aus und das macht meine grafische Ausgabe stocklangsam.
Mir ist klar dass das immer wieder durchführen von figure und clf die ganze Sache langsam machen, aber wie kann ich meine Ausgabe in einer Embedded Matlab Function, welche ja bei jedem Zeitschritt ausgeführt wird, so bauen dass sie schneller wird?
Danke für eure Hilfe.
Micha
|
|
|
|
|
Micha |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2008, 11:40
Titel:
|
|
Hallo nochmal,
ich möchte gern das Problem nochmal etwas detaillieren, da ich höchstwahrscheinlich allgemein gerade Mist baue.
In meinem Simulink-Model werden viele Sachen gerechnet und das Ergebnis soll einfach grafisch in "Echtzeit" ausgegeben werden.
Einfaches Beispiel:
Einen fliegender Ball soll gezeichnet werden und habe dafür die Rechenergebnisse X und Y im Simulink-Model als "Wires" zur Verfügung.
Wie kann ich nun in ein Figure so etwas zeichnen lassen wie ein flüssiger Film?
Ich frage so allgemein da mein derzeitiger Ansatz mit einer Embedded Matlab Function sicher total schlecht gewählt ist.
Gruß Micha
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 09.04.2008, 13:06
Titel:
|
|
Du hast Recht. Figure im Embedded MATLAB Code wird nicht unterstütz.
Abhilfe ist nur mit M-S-Functions. Dort kannst Du Figure aufbauen und die Ergebnisse in "Echtzeit" aktualisieren.
Melde Dich mal mit Deiner Mailadresse - ich schicke ein Beispiel raus.
MfG
|
|
|
Micha |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2008, 13:32
Titel:
|
|
Hallo outsider,
danke für deine Hilfe, bin echt mal gespannt was du für nen Vorschlag hast.
maxe1983 [ät] hotmail.de
Gruß Micha
|
|
|
Micha |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2008, 17:05
Titel:
|
|
|
|
|
Hallo outsider,
erst einmal vielen Dank für dein Beispiel.
Leider komme ich damit kaum weiter da mir absolut die Grundkenntnisse der S-Funktion fehlen.
Ich habe es jetzt soweit verstanden, dass man unterschiedliche Schritte hat in der Funktion.
Als erstes die Initialisierung. Hier kommen alle Dinge rein die einmalig gemacht werden sollen. Beispiel Farbe, axes, etc.
Als nächstes dann die Werte updaten. Das würde nun die Schleife sein.
Habe ich das bis jetzt richtig verstanden?
Aber woher kommt diese flag-Variable?
Ich würde so gern einfach mal ein Beispiel sehen für den oben bereits genannten Code nur in einer S-Funktion. Damit ich das irgendwie langsam mal verstehe wie das geht.
Bin ziemlich verzweifelt, weil es selbst in meinem Buch oder bei Google kein einziges Beispiel gibt was mal gut erklärt ist.
Mein Thema ist doch eigentlich eine "tägliche" Sache die man häufig braucht oder? Einfach "fliegende" Punkte in Echtzeit ausgeben. In meinem Fall (patch) fliegende Quadrate.
Schönen Feierabend...
Danke und Gruß Micha
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 09.04.2008, 18:15
Titel:
|
|
Also so einfach wie Du es Dir vorstellst ist es nun auch nicht. Im Falle der M-S-Function habe ich einen Template verwendet von der Funktion "timestwo.m". Dies ist eine Beispiel M-S-Funktion die lediglich den Eingangsignal mit 2 multipliziert und wieder ausgibt. Öffne die Funktion im Editor, dann hast Du schon Deinen alles da. Wie Du schnell feststellst ist der der Code von timestwo.m genau so aufgebaut. Passe dann nur die Update-Function und erweitere die mit dem Figure und Plot-Befehlen, dann hast Du schon was Du brauchst.
Also bissel Handanlegen musst Du schon. Ich denke es wird noch ne Weile dauern, bis man MATLAB per Sprachsteuerung programmieren kann...
MfG
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|