|
|
Structname aus Signalnamensliste erstellen |
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 19.07.2013, 12:28
Titel: Structname aus Signalnamensliste erstellen
|
 |
|
 |
|
Hallo,
ich möchte gern automatisiert mehrere Structs erstellen lassen.
Aufbau jeweils:
SignalnameX.Signal_aus_Datei1
...
SignalnameX.Signal_aus_Datei_n
SignalnameY.Signal_aus_Datei1
...
SignalnameY.Signal_aus_Datei_n
Dazu habe ich eine Liste, mit den SignalNamen welche die Structs bekommen sollen. Innerhalb der Structs sollen dann Signale aus verschiedenen MatFiles gespeichert werden. Dieses einlesen und zuweisen der Signale funktioniert. Allerdings gebe ich derzeit noch händisch den Signalnamen vor.
Lauffähiges Minimalbeispiel mit generierten Zeit- und Datenvektoren:
Mein Problem ist, dass ich es nicht schaffe, den Namen direkt anzusprechen und zu belegen.
Denn eigentlich möchte ich den Namen SignalNameX nicht selber hinschreiben müssen sondern genauso wie (varName) einfach auf die Liste zugreifen - etwa so:
Aber die Daten werden damit unter StructList gespeichert, statt unter dem in der Struktlist gespeicherten Namen.
Ebenso bin ich mittels vorab assignin über die signalList nicht weitergekommen.
Kurzform meiner Frage: wie kann ich den Namen des Strukts dynamisch aus einer Liste von Namen zuweisen und belegen?
Noch etwas mehr Hintergrund: die Strukts sollen nach dem Signalnamen benannt werden, da diese später zum teil auch in Simulink genutzt werden müssen.
Edit:
Die Signalnamen in der Liste sind _nicht_ vortlaufend indexiert sondern haben beliebige sehr unterschiedliche Namen.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Zuletzt bearbeitet von Mmmartina am 19.07.2013, 12:53, insgesamt 2-mal bearbeitet
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 19.07.2013, 12:39
Titel:
|
 |
bist du sicher das es sinnvoll ist einen index im variablen namen zu verwenden anstatt als index?
oder halt so':
den index auch als index zu verwenden macht es meinst später einfacher auf die daten zuzugreifen und zb schleifen darauf anzuwenden.
|
|
|
Mmmartina |
Themenstarter

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 19.07.2013, 12:47
Titel:
|
 |
Hallo Winkow,
Winkow hat Folgendes geschrieben: |
bist du sicher das es sinnvoll ist einen index im variablen namen zu verwenden anstatt als index? |
leider sind die Variablennamen NICHT fortlaufend durchnummeriert!
Das ist nur für das Minimalbeispiel.
Die heißen in echt z.B. Druck_bla_blub, Spannung_x_y, Strom_da_hinten
Mit fortlaufenden Indexen wäre ich ja richtig glücklich - aber ich muss zusätzlich auch noch die Signalnamen jedesmal über strfind-maßnahmen in den Maßdateien lokalisieren, da es pro Datei kleine Abweichungen in der Schreibweise gibt. Aber das funktioniert. Für ein Minimalbeispiel dachte ich halt - vereinfache ich alles - war dann wohl zu sehr vereinfacht.
Mir geht es nur darum, ob es eine Methode gibt, diesen Structnamen automatisch zu erstellen (ja, mit Assignin) UND zu belegen -> denn daran scheitere.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 19.07.2013, 13:07
Titel:
|
 |
ich glaube man kann den ersten teil nicht dynamisch machen außer mit eval oder so aber das ist nicht ratsam.
aber
würde zb gehen
|
|
|
Mmmartina |
Themenstarter

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 19.07.2013, 13:50
Titel:
|
 |
Hallo, danke für die Antwort, das bestätigt leider meine befürchtung - ich hab ja auch schon des netz und hier im forum gesucht und keine Lösung gefunden.
Jetzt habe ich die Version mit Data.(Signallist{iSignal}).(varName) umgesetzt UND hatte einen netten Einfall , wie ich die Strukts dennoch hinbekomme:
Ich frage nachdem ich Data fertig zugewiesen habe, alle Felder in Data ab und lasse dann per Assignin jedes Feld mit dem Feldnamen erstellen/zuweisen => alle Variablen als Structs, so wie ich es will. Data lösche ich dann einfach per clearvars.
Umständlich, aber das Ergebnis paßt.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
|
|
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.
|
|