|
|
Variable mit variablem Namen in base übergeben |
|
Shin |

Forum-Century
|
 |
Beiträge: 117
|
 |
|
 |
Anmeldedatum: 12.11.09
|
 |
|
 |
Wohnort: Karlsruhe
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 16:52
Titel: Variable mit variablem Namen in base übergeben
|
 |
Hallo Leute,
folgendes Problem:
In einer meiner GUI Funktionen lese ich Daten ein, die Inhalt und Name eines Vektors beinhalten:
Beispielsweise:
p1 = 'Wehr_OK_ist'
Variable = <2881x1 double>
Mit dem Befehl
schreibe ich das passend um, so dass die Variable mit dem Inhalt den passenden Namen erhält:
Wehr_OK_ist = <2881x1 double>
So, nun möchte ich diese Variable (im Code weiß ich ja nicht wie sie heißt, da der Benutzer der GUI sie selbst auswählt) in den base Workspace übertragen, wo sie dort dann weiterverarbeitet wird (als mat file exportiert beispielsweise).
Jemand eine Idee?
Habe mit assignin rumgespielt, aber leider keine Lösung gefunden.
Gruß,
Chris.
|
|
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 19:49
Titel:
|
 |
Hallo,
1. eval vermeiden, den Grund hierfuer kannst du in unzaehlige Posts in diesem Forum finden.
Warum nicht einfach die bereits vorhandenen Variablen fuer z.B. den Export verwenden? Warum diese neue Variable noch umstaendlich mit eval erzeugen?
z.B.
Auch das Abspeichern von Variablen im Workspace sollte vermieden werden, auch wenn du die richtige Funktion schon gefunden hattest, da dies zu schwer zu findenden Fehlern fuehren kann. Brauchst du es doch unbedingt muesste es so gehen:
Aber das ist es ein Ausdruck, da bluten jeden auch nur wenig fortgeschrittenen Matlab-User das Herz (assignin und eval in einem Befehl ist wie eine Todsuende ). Also bitte geh den oben genannten Weg.
Ps. Denn auch ich habe jetzt bestimmt 5 Minuten gesessen welcher Name nun der ist den du in die Base kopieren moechtest (eben wegen diesem eval Befehl), dich hat es zum kompletten scheitern gebracht...
MFG
Sco
|
|
|
Shin |
Themenstarter

Forum-Century
|
 |
Beiträge: 117
|
 |
|
 |
Anmeldedatum: 12.11.09
|
 |
|
 |
Wohnort: Karlsruhe
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 15:22
Titel:
|
 |
|
 |
|
edit
Oh, was red ich denn da. Du hast mir die Antwort ja schon in deinem zweiten, undorthodoxen Weg gesagt. Damit funktioniert es, danke!
Ich weiß nicht, warum da ich da gestern nicht draufgekommen bin. Damit ist auch der eval Befehl hinfällig.
______________________________________________
Hallo Sco, danke für deine Antwort, nur leider war das nicht genau das nach dem ich gesucht habe.
Mein eval Befehl gibt 'Variable' den Namen der in 'p1' steht, so dass nach:
in meinem setappdata(0)-Workspace-Bereich-Irgendwas(?) eine Matrix/Vektor(Variable) mit einem im Code nicht (vor)definierten Namen existiert. Den nicht klar definierten Namen wollte ich gerne aus dem setappdata(0)-Workspace-Bereich-Irgendwas(?) rausbekommen.
Der Anwender soll am Ende der Prozedur irgendwo - meines Erachtens am besten im Workspace - die fertige Variable haben, die einen erkennensmöglichen Namen hat, und nicht nur Variable heißt. Der Name steckt eben als String in p1.
Wenn alle eingelesenen Daten im Workspace sind, hätte ich den einfach komplett als matfile exportiert. Da das Ganze eh als exe kompiliert wird, denke ich ist der Workspace-Weg nicht gaaaaanz so schlimm.
Da ich pro matfile nicht nur eine Variable speichern möchte, ist
leider keine Lösung für mich.
(Idee der GUI: Über eine Einlesefunktion kann der Nutzer aus verschiedenen Matfiles und darinliegenden Strukturen bestimmte und vorallem mehrere Variablen einlesen und später die ausgewählten Daten als externe matfile speichern, welche in einem separaten GUI ausgewertet werden.)
Gruß und Dank!edit
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 16:04
Titel:
|
 |
Hallo,
Zitat: |
Da ich pro matfile nicht nur eine Variable speichern möchte, ist
Code:
leider keine Lösung für mich.
|
Man kann auch mehrer Variablen mit einmal speichern, siehe Hilfe zu save! Also hau das assignin raus und mach es z.B. so:
MFG
Sco
|
|
|
|
|
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.
|
|