|
|
Laufvariable in Structure-Array-Bezeichnung |
|
ladwien |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 29.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.09.2015, 13:04
Titel: Laufvariable in Structure-Array-Bezeichnung
|
 |
|
 |
|
Guten Tag zusammen
nach dem ich hier immer fleißig mitlese und auch bereits vermehrt Lösungen für das ein oder andere Problem gefunden habe, habe ich diesmal selber ein anliegen und hoffe, dass mir jemand mit mehr Erfahrung helfen kann.
Nun zu meinem Problem.
Ich habe ein Skript geschrieben, dass mir mehrere .mat Files aus einem Ordner in den Workspace lädt. Dies funktioniert auch wunderbar:
Danach befinden sich alle Messdaten in structure arrays verpackt im Workspace und haben eine fortlaufende Nummerierung von i=1:50 mit der Bezeichnung StatischeMessung158A_i. Nun möchte ich aus allen diesen Messprotokollen die Messdaten in neue Matrizen abspeichern um sie für eine noch folgende Auswertung benutzen zu können.
Dafür habe ich bereits mit einer for Schleife angefangen, die folgendes machen sollte. Sie soll in das jeweilige Struct Array rein gehen (Sprich, StatischeMessung158A_i) dann unter Y(6).Data die Messwerte auslesen und diese wieder um die Matrix F schreiben. Mein Problem ist nur folgendes.
Ich weiß nicht, wie ich es schaffen kann, dass Matlab i als Laufvariable sieht. Folgender Fehler wird ausgegben:
"Undefined variable "StatischeMessung158A_" or class "StatischeMessung158A_" "
Ist es überhaupt möglich eine Laufvariable bei der Bezeichnung eines Structure Arrays zu benutzen? Und wenn ja wie?
Gibt es eventuell auch eine andere Lösung?
Wäre super wenn mir jemand helfen könnte
Grüße
Ladwien
Anbei noch ein Bild nachdem die Daten sich im Workspace befinden.
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 12.09.2015, 13:41
Titel:
|
 |
Zitat: |
st es überhaupt möglich eine Laufvariable bei der Bezeichnung eines Structure Arrays zu benutzen? Und wenn ja wie? |
ja http://de.mathworks.com/help/matlab.....names-from-variables.html
wie kann man das selber finden? man guckt unter struct in der doc nach und findet das dann unter related examples.
alternativ kann man auch mit
fieldnames
arbeiten oder von anfang an keinen index im namen verstecken sondern ihn als index benutzen. dann hätte dein ansatz funktioniert.
_________________
richtig Fragen
|
|
|
ladwien |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 29.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.09.2015, 15:05
Titel:
|
 |
Die Indexierung im struct funktioniert, keine Frage. Das hab ich schon gefunden und in einem anderen script getestet.
Ich versuche mal zu erläutern woher der Index i stammt. Er wird durch die Anzahl der Messungen festgelegt und ist demnach bereits im Namen der .mat Datei enthalten. Ohne den Index i wäre ja keine Nummerierung der Messungen möglich.
Bsp. StatischeMessung158A_1.mat usw weiter. i ist der Platzhalter für 1-50.
|
|
|
ladwien |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 29.04.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.09.2015, 18:03
Titel:
|
 |
Lösung gefunden:
Zitat: |
x{1,i}=eval(['StatischeMessung158A_' [num2str(i)] '.Y(7).Data']); |
|
|
|
|
|
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.
|
|