|
|
Variablen aus Struct ziehen |
|
Turbopavel |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 22.11.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2017a
|
|
|
|
|
|
Verfasst am: 02.03.2021, 10:14
Titel: Variablen aus Struct ziehen
|
|
Hallo Zusammen,
ich habe ein Struct (siehe Bild) und möchte jetzt daraus alle Daten als einzelne Variablen abspeichern. Heißt ich gebe nur das jeweilige Struct an und alle Variablen werden aus den Daten automatisch erzeugt.
Also bspw. Time = S(1).data, Speed = S(2).data, usw.
Leider habe ich nur Lösungen mit dem bösen EVAL-Befehl dazu gefunden.
Gibt es denn da keine andere Lösung?
Vielen Dank.
Beschreibung: |
|
Download |
Dateiname: |
Screenshot 2021-03-02 101321.png |
Dateigröße: |
8.26 KB |
Heruntergeladen: |
189 mal |
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 02.03.2021, 16:30
Titel: Re: Variablen aus Struct ziehen
|
|
|
|
|
Hallo Turbopavel,
Nein, das geht nur mit dem bösen EVAL.
Auch wenn es anders machbar wäre, würde es immer noch Matlab massiv ausbremsen und das Debuggen schwer bis unmöglich machen. Ein Beispiel:
Das wird grandios scheitern. Sowie man Variablen mit
eval
,
assignin
etc. erstellt, landen sie in einer Tabelle mit dynamisch erzeugten Daten. Jeder Zugriff auf Variablen benötigt dann eine aufwändige Such in dieser Liste. Das bremst Matlab ungemein aus. Normalerweise scannt Matlab's JIT-Accelerator nämlich beim ersten Zugriff auf die Funktion die Variablen und fügt Pointer zu den Werten in der Tabvelle direkt in den Code ein. Sowie aber eine Variable dynamisch dazwischen geschummelt wird, kann das nicht mehr funktionieren und die JIT-Funktion muss abgeschaltet werden. Schleifen brauchen dann schon mal 200 mal länger usw.
Das Debuggen ist aus den gleichen Gründen ein Horror, wenn man Variablen dynamisch erstellt. Man kann nicht mehr wissen, welcher Ausdruck eine Variable ist, welcher ein Befehl und welcher undefiniert.
Die saubere Lösung ist es, mit dem Struct weiter zu arbeiten.
Gruß Jan
|
|
|
|
|
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.
|
|