WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Substrukturen einer Struktur in *.mat-File speichern

 

teutopixx
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2014, 09:35     Titel: Substrukturen einer Struktur in *.mat-File speichern
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine Strukturvariable im Workspace, die wiederum verschiedene andere Variablen enthält (darunter auch wieder Strukturvariablen).

Z. b.:
Datei test.mat:
Struktur
|_ Unterstruktur1
|_ Unterstruktur2
|_ Stringvariable
...

Wie ich diese eine Strukturvariable aus dem Workspace (und damit auch sofort die "Untervariablen" über den save-Befehl in eine *.mat-File speichere, weiss ich.

Gibt es eine Möglichkeit, die "Untervariablen" sozusagen "eine Ebene höher" zu schieben, um diese dann als einzelne Variablen in der *.mat-Datei stehen zu haben?

Datei test.mat:
Unterstruktur1
Unterstruktur2
Stringvariable

Ich könnte hergehen, und jeden Variablennamen einer Unterstruktur (also z. B. Struktur.Unterstruktur, Struktur.Unterstruktur2 usw) einzeln in den Save-Befehl einbinden. Aber vielleicht geht dieses ja auch einfacher und sozusagen in einem Schritt??
_________________

----
teutoPIXX
Private Nachricht senden Benutzer-Profile anzeigen


Krueger
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 25.06.13
Wohnort: ---
Version: R2011b
     Beitrag Verfasst am: 28.05.2014, 10:01     Titel:
  Antworten mit Zitat      
Hallo teutopixx,

du könntest dir eine neue Struktur basteln in der die Unterstrukturen dann eine Ebene höher sind und diese dann abspeichern.

Ansonsten guck dir doch mal den Befehl struct2cell an. Vielleicht hilft dir der ja weiter.


Viele Grüße

Krueger
Private Nachricht senden Benutzer-Profile anzeigen
 
teutopixx
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2014, 11:01     Titel:
  Antworten mit Zitat      
Naja... Daran, eine neue Struktur zu basteln, habe ich auch schon gedacht...
Nur suche ich dafür eine elegante Lösung, dass ich nicht alles "händisch" machen muss. Vielleicht gibt es eine Möglichkeit, dieses in einer Schleife zu realisieren, nur komm ich nicht wirklich drauf.
Zumal die Zahl der Unterstrukturen varriert.

Ich könnte alle Unterstrukturen mit
Code:
im Workspace ablegen, nur wird ja allgemein von der Verwendung von
Code:
abgeraten.
_________________

----
teutoPIXX
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2014, 11:27     Titel:
  Antworten mit Zitat      
Hallo,

bei deinem Vorhaben würde es dir wohl nicht erspart bleiben, EVAL zu verwenden.

Die Frage, die sich mir aber stellt: wozu überhaupt das ganze?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
teutopixx
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 09.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2014, 12:01     Titel:
  Antworten mit Zitat      
Ich habe mit einer Software Messdaten in einem NI-Datenformat aufgenommen, die aus irgendeinem Grund beim Umwandeln ins Matlab-Format nach folgendem Muster abgelegt werden:
Aufnahmedatum (Strukturvariable)
|_ Unterstrukturvariable "Daten" mit wiederum Unterstrukturvariblen
|_ Datenvektor
|_ allegemeine Daten (wie z. B. auch Aufnahmedatum)

Ich möchte später verhindern, riesige Bandwurmvariablennamen zum Plotten von diesen Sensordaten verwenden zu müssen.
_________________

----
teutoPIXX
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2014, 12:45     Titel:
  Antworten mit Zitat      
Hallo,

da ist es eine Abwägung, ob man viele Variablen mit kurzen Namen haben möchte oder wenige mit langen. Ich würde sagen, dass wenige Variablen mit relativ langen Namen den Code und vor allem den Workspace deutlich übersichtlicher machen.

Ansonsten bleibt wie gesagt EVAL, evtl. in Kombination mit fieldnames und dynamischer Indizierung:
Code:
fields = fieldnames(S);
S.(fields{I}) % verarbeiten


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.