|
|
Variablen im aktuellen WS |
|
Kenny051990 |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 13.09.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2013, 10:54
Titel: Variablen im aktuellen WS
|
|
Hallo,
ich würde gerne die Variablen des aktuellen Workspace in ein array schreiben dass ich dann mit assignin an den base workspace übergebe. Ich möchte dieses Array erstellen da sich die Anzahl der Variablen verädern und ich nicht jede einzelne Variable mit assignin und evalin behandeln will.
Who gibt nur nur eine Liste der Namen der Variablen zurück.
Hat mir jemand einen Tipp?
Danke.
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 25.11.2013, 12:58
Titel:
|
|
wozu willst du die daten aus einem workspace in einen anderen schrieben ?
wenn man daten aus einer funktion braucht kann man die ja als rückgabe argument mit angeben. das ist übersichtlicher als assignin etc und auch nicht so fehler anfällig und besser zu debuggen.
wenns mehrere daten sind kann man die auch in eine struct packen. dynamisch erzeugte variablen machen nur probleme sonst.
_________________
richtig Fragen
|
|
|
Kenny051990 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 13.09.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2013, 13:19
Titel:
|
|
Ja ok ich verstehe, allerdings sehe ich den Vorteil nicht, die Daten an die Funktion zu übergeben, anstatt einfach alles immer in ein Struct im base Workspace ab zu legen und von dort auch wieder zu holen.
Dann muss ich mir den Aufwand nicht machen in jedem Funktionsaufruf alle Variablen zu übergeben oder ein struct zu erstellen und dieses dann übergeben. Und jedes mal wenn ich dann in irgendeiner GUI eine zusätzliche Variable erstelle, muss ich jede Übergabe wieder ergänzen.
Wenn ich alles in den base workspace lade, kann ich von überall auf alle Variablen zugreifen und diese ändern.
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 25.11.2013, 13:29
Titel:
|
|
sinn besteht darin nur die daten zu übergeben die gebraucht werden.
das jede funktion ihren eigenen workspace hat sorgt dafür das es nicht zu konfliken mit den variablen namen kommt.
es mag auf den ersten blick einfacher erscheinen einfach immer alle variablen hin und her zu schieben... beim debuggen wirds dann aber schon dumm und wenn dann noch jemand anderes teile aus deinem code verwenden will.. oder du selber teile aus deinem code in einem anderen programm verwenden willst drehst druch. irgendwann brauchst du dann 100000 verschiedene variablen namen weil du immer alle hin und her schiebnst anstadt nur die 3 die du brauchst. structs hingegen lassen sich 1. dynamisch erstellen sind 2. übersichtlich und 3. kann man sie ohne probleme weiter bearbeiten da die dynamischen namen mittels fieldnames ausgelesen werden können
_________________
richtig Fragen
|
|
|
Kenny051990 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 13.09.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2013, 14:20
Titel:
|
|
Ja gut. Das kann ich nun nachvollziehen. Ich habe meinen Code nun entsprechend verändert und übergebe die Variablen in den Funktionsaufrufen und innerhalb der GUI mit den handles.
Da ich große Datensätze verarbeite, will ich dem Anwender die Möglichkeit geben einen neuen zu bearbeiten, oder einen bereits berechneten Datensatz zu verwenden, da das Berechnen sehr lange dauert (ca. 3min).
Um ein .mat File zu speichern und zu laden muss ich ja dann aber alle benötigten Variablen im base Workspace speichern und bei Weiterverarbeitung aus selbigem auslesen, oder?
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 25.11.2013, 14:31
Titel:
|
|
nunja es giebt da mehree möglichkeiten. structs sind wie gesagt eine. eine andere möglichkeit sind cells um matritzen zu speichern. du kannst die auch beide verschachteln. dann musst du halt immer nur eine eine struct speichern in der deine daten alle gespeichert sind. das ist übersichtlicher.
_________________
richtig Fragen
|
|
|
|
|
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.
|
|