|
|
Cell-Array from Workspace |
|
Mele |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2010, 13:39
Titel: Cell-Array from Workspace
|
|
Hallo zusammen
Ich habe mir einen cell-Array im Workspace angelegt:
Diesen Array möchte ich in einer Embedded MATLAB function weiterverwenden.
Über den Block From Workspace kann ich nicht auf den Array zugreifen.
Hat einer von euch eine Idee, wie ich dies anders umsetzen kann?
Vielen Dank
Mele
|
|
|
|
|
Zenon |
Forum-Guru
|
|
Beiträge: 292
|
|
|
|
Anmeldedatum: 20.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2010, 14:59
Titel:
|
|
Wofür brauchst Du da ein Cell-Array? Tuts nicht auch ein normaler Vektor?
Was genau willst Du erreichen?
|
|
|
Mele |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2010, 15:28
Titel:
|
|
In meinem Cell Array sollen Knoten einer Virtuellen Szene abgelegt werden.
Deshalb kann ich leider keinen normalen Vektor verwenden.
Dieser Vektor soll anschließend in der Embedded Matlab function so manipuliert werden, dass Objekte der 3D Szene verschoben werden.
Hier meine Initailisierung des Arrays, die in der Embedded Matlab function stehen soll.
visu ist meine 3D Welt und Fl das i-te Objekt.
das ganze steht innerhalb einer for Schleife.
Grüße
Mele
|
|
|
Zenon |
Forum-Guru
|
|
Beiträge: 292
|
|
|
|
Anmeldedatum: 20.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2010, 15:42
Titel:
|
|
Aber die Knoten bestehen doch auch nur aus Zahlen oder? Vektor, Matrix oder struct sollten in den meisten Fällen gehen...du kannst meines wissen nur einzelne zellen eines cell array in simulink bringen z.B. in dem du einen constant blocl machst und Flasche{1} da eingibst...
Ich empfehle dir eine struct zu nutzen...
|
|
|
Mele |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2010, 15:59
Titel:
|
|
hi ok
mit dem struct komm ich irgendwie nicht zu recht.
Ich habe versucht einen zu initialisieren:
Stachel und Stachel2 sind zwei cell Arrays.
Dann habe ich den Block from Workspace genommen und in diesen St.Stachel eingetragen.
Jetzt erhalte ich diese Fehlermeldung:
Error evaluating parameter 'VariableName' in 'Modell/From Workspace1': Reference to non-existent field 'Stachel'.
Ich verstehe nicht warum er das Feld nicht kennt
Danke schon einmal für deine Hilfe!!
Mele
|
|
|
Zenon |
Forum-Guru
|
|
Beiträge: 292
|
|
|
|
Anmeldedatum: 20.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2010, 08:17
Titel:
|
|
Er erkennt das Feld nicht, weil Du es in der letzten Zeile St bzw. St2 genannt hast.
Du musst also über St.St bzw. St.St2 darauf zugreifen...
Ansonsten bin ich sehr im Zweifel ob sich Simulink mit Cell Arrays verträgt oder nicht...evtl. kannst du ja, wenn du es zwingend brauchst mittels evalin die Berechnungen im Matlab Workspace durchführen und nur die ergebnisse in Simulink übernehmen (Notlösung)...
|
|
|
Mele |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2010, 08:42
Titel:
|
|
hi
diesmal erhalte ich diese Fehlermeldung:Invalid matrix-format variable specified as workspace input in 'Modell/From Workspace1'. The matrix must have two dimensions and at least two columns. Complex signals of any data type and non-double real signals must be in structure format. The first column must contain time values and the remaining columns the data values
Vermutlich vertragen sich simulink und cell-Arrays nicht auch in den Hilfen gibt dazu nicht wirklich informatives
Danke für deine Hilfe
|
|
|
Zenon |
Forum-Guru
|
|
Beiträge: 292
|
|
|
|
Anmeldedatum: 20.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2010, 09:22
Titel:
|
|
Was für Daten sind denn im Cell Array drin? Wir finden bestimmt einen Weg die in Simulink zu kriegen...wenn auch anscheinend nicht als cell array...
|
|
|
Mele |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2010, 09:43
Titel:
|
|
also im Workspace sind sie noch leer sollen dann aber im embedded Block mit vrnode also den knoten einer 3D Szene gefüüllt werden:
visu heißt meine wrl-datei, meine 3D-Szene und nach dem Komma das sind die Namen der Knoten.
das ganze natürlich wieder inerhalb einer for-schleife.
In meiner embededded MAtlab function taucht auch dies auf:
Ich weise dem visu meine Welt zu.
So wie es aussieht kann dieser Block auch den Befehl vrworld nicht umsetzen.
Letzendlich möchte ich damit meine Simulation Visualisieren.
und suche einen anderen Weg als mit einer normalen Matlabfunction, da ich dort nur einen Eingang habe.
Und auch eine andere Möglichkeit als den VR- Sink Block, da ich keine ca. 100 Knoten verbinden möchte und dazu auch noch meine Vektoren in
hundert signale aufteilen müsste.
Ich hoffe das wir eine Lösung finden werdenn
Mele
|
|
|
Zenon |
Forum-Guru
|
|
Beiträge: 292
|
|
|
|
Anmeldedatum: 20.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2010, 12:04
Titel:
|
|
Versuch es doch erstmal mit Flasche als struct. Also Flasche.(i) (dynamic field).
Ansonsten habe ich keine Ahnung wie die 3D Animation Toolbox von Simulink funktioniert...habe nur die Basisversion...deshalb kennt mein System vrworld überhaupt nicht...
|
|
|
Mele |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.04.2010, 10:11
Titel:
|
|
hallo
Ich hab gerade eine Antwort bei Mathworks gefunden.
Cell-Arrays können nicht in Matlab embedded Funktion benutzt werden.
sondern nur in Matlab function.
Gibt es dort die möglichkeit mehrere Eingänge zu definieren???
Ich habe nur einen hinbekommen.
Grüße
Mele
|
|
|
Zenon |
Forum-Guru
|
|
Beiträge: 292
|
|
|
|
Anmeldedatum: 20.01.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.04.2010, 10:25
Titel:
|
|
Laut Dokumentation kommt Matlab Fcn nur mit einem Input klar. Ich würde einfach auf das Cell Array verzichten.
|
|
|
|
|
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.
|
|