|
|
|
Variablen im Workspace finden und gruppieren |
|
| FunkFreaker |

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 29.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 11:36
Titel: Variablen im Workspace finden und gruppieren
|
 |
| |
 |
|
Hallo Leute,
hatte vor einiger Zeit schon einmal einen ähnlichen Beitrag, leider sind meine Lösungsansätze nicht auf fruchtbaren Boden getroffen.
Ich beschreibe mal das Problem: Das Konvertierungsprogramm, mit dem ich eine mdf-File in eine MAT File konvertiere, gibt mir 2 Dateien aus:
Beispiel1.MAT und Beispiel2.MAT.
Beispiel1.MAT:
Im Workspace stehen folgende Variablen:
EgoGeschwindigkeit_t6
t6
GeschwindigkeitHL_t10
GeschwindigkeitHR_t10
GeschwindigkeitVL_t10
GeschwindigkeitVR_t10
t10
Beispiel2.MAT:
Im Workspace stehen folgende Variablen:
EgoGeschwindigkeit_t3
t3
GeschwindigkeitHL_t8
GeschwindigkeitHR_t8
GeschwindigkeitVL_t8
GeschwindigkeitVR_t8
t8
Um die Daten später vernünftig plotten zu können, müssen t8 und t10 mit den jeweiligen Geschwindigkeitsvariablen "gekoppelt" bleiben.
Beispiel1.MAT und Beispiel2.MAT sollen später so gespeichert werden, dass in BEIDEN Files folgende Variablen im Workspace stehen:
EgoGeschwindigkeit_t0
t0
GeschwindigkeitHL_t1
GeschwindigkeitHR_t1
GeschwindigkeitVL_t1
GeschwindigkeitVR_t1
t1
Mein Problem ist die dynamische Programmierung, da die Name der Zeitparameter von File zu File unterschiedlich sein kann (Deshalb die beiden Beispiele).
Leider kann ich das Konvertierungsprogramm zwar so überlisten, dass es alle Geschwindigkeiten auf EINEN Zeitparameter herunterrechnet, jedoch geht dies nur bis zu einer bestimmten Messdateigröße, danach hängt sich das Programm auf.
Gibt es eine Möglichkeit, die Variablen anhand der Zeichenlänge zu finden?
Z.B. 'Suche nach GeschwindigkeitHL', sodass nun, für Beispiel1.MAT, GeschwindigkeitHL_t8 gefunden und in einem Struct gespeichert wird.
Um nun den zugehörigen Zeitparameter t8 noch zu finden, müsste man die letzten 2 bis 3 chars in der Geschwindigkeitsvariable GeschwindigkeitHL_t8 identifizieren und diese nun in einer erneuten Aktion suchen und anschließend in demselben Struct speichern.
Ich weiß, es klingt sehr aufwändig und leider habe ich keinen Einfluss auf die Benennung der Variablen im workspace, aber vielleicht hat ja jemand einen Lösungsansatz. Vielen Dank schonmal!
|
|
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 11:46
Titel:
|
 |
|
ich durchblicke das problem noch nicht ganz aber hilft dir
?
|
|
|
|
| FunkFreaker |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 29.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 12:01
Titel:
|
 |
|
Nein, das gibt mir ja lediglich die Namen der Variablen im Workspace aus. Ich will die Variablen ohne den Zeitindex finden, in ein Struct packen, den dazugehörigen Zeitparameter finden, in ein Struct packen und dann alles umbenennen uns speichern.
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 17:52
Titel:
|
 |
Hallo FunkFreaker,
| Zitat: |
| Ich will die Variablen ohne den Zeitindex finden, in ein Struct packen, den dazugehörigen Zeitparameter finden, in ein Struct packen und dann alles umbenennen uns speichern. |
Ich verstehe keinen einzigen dieser Schritte. Welches sind denn die "Variablen ohne Zeitindex"? In welches Struct sollen sie kopiert werden? Welcher Zeitparameter gehört wozu, und kann man das ohne Zeitindex überhaupt bestimmen? Musst Du die Ergebnisse zwei Mal in ein Struct packen? Von welchem Namen soll in welchen "umbenannt" werden und wie soll nun zum Schluß gespeichert werden?
Eventuell versuchst Du zu viele Schritte auf einmal zu lösen. Es könnte hilfreich sein, wenn Du Dich zunächst auf einen einzigen Schritt konzentrierst und ihn möglichst genau erklärst.
Gruß, Jan
|
|
|
|
| FunkFreaker |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 29.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 16.11.2011, 18:41
Titel:
|
 |
| |
 |
|
Hallo Jan,
| Zitat: |
| Ich verstehe keinen einzigen dieser Schritte. Welches sind denn die "Variablen ohne Zeitindex"? |
vielleicht etwas blöd ausgedrückt: Ich möchte die Variablen, in dem Fall die Geschwindigkeiten (siehe obiges Beispiel) und deren Zeitparameter, am Ende umbenennen und ihre Werte mit übernehmen. Das Problem ist, das in jedem MAT-file den Geschwindigkeiten unterschiedliche Zeitparameter zugeordnet werden. Die Geschwindigkeiten sollen hier nur als Beispiel dienen, insgesamt gibt es wesentlich mehr Variablen, jede ist am Ende ihres Namens mit dem Zeitindex versehen, welcher ihr vom Konvertierungsprogramm zugeordnet wurde.
| Zitat: |
| In welches Struct sollen sie kopiert werden? |
Die Variablen meiner Messdatei liegen alle bereits auf dem workspace. Diejenigen, die ich benötige (hier die Geschwindigkeiten und deren Zeitindizes), sollen in einem Struct abgespeichert werden, NACHDEM sie in die im Beispiel genannte Form (siehe Beispiel, *HL_t1,*HR_t1 usw.) umbenannt wurden und ihre Werte übernommen wurden.
| Zitat: |
| Welcher Zeitparameter gehört wozu, und kann man das ohne Zeitindex überhaupt bestimmen? |
Die Geschwindigkeiten wurden mit unterschiedlichen Frequenzen erfasst, die Radgeschwindigkeiten z.B. mit 50Hz und die Geschwindigkeit des EgoFahrzeugs z.B. mit 100Hz. Dementsprechend unterschiedliche Zeitparameter und Zeitindizes, die den Geschwindigkeiten hintendran gesetzt werden, gibt es. Dummerweise ändern sie sich von File zu File leider.
| Zitat: |
| Musst Du die Ergebnisse zwei Mal in ein Struct packen? |
Nein, ein Struct am Ende reicht. Sprich: Alle Variablen bleiben im Workspace, lediglich die Geschwindigkeiten werden nach obigem Beispiel in einem Struct mit den dazugehörigen Werten abgespeichert. Ich möchte das einfach in einer einheitlichen Form haben, da sonst das Modell eines Kollegen nicht läuft.
| Zitat: |
| Von welchem Namen soll in welchen "umbenannt" werden und wie soll nun zum Schluß gespeichert werden? |
Als Beispiel: GeschwindigkeitHL_t10 wird umbenannt in GeschwindigkeitHL_t1 und die Werte werden übernommen. Anschließend sollen die fünf Geschwindigkeitsvariablen aus obigem Beispiel in einem Struct abgespeichert werden.
Ich hoffe, mein Problem ist etwas deutlicher geworden. Danke für die Antworten!
|
|
|
|
|
|
|
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 - 2025
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.
|
|