Verfasst am: 24.03.2011, 17:14
Titel: setappdata/load/caller-Problem - Wo steckt die Variable?
Hallo, ich hab folgendes Problem:
In einer Button Callback Funktion rufe ich eine weitere Funktion auf, um Daten (mat files) einzulesen.
Mit folgendem Code soll die eingelesene Variable einer Matfile geladen werden - das tut es auch, ich kann sie aber nicht finden.
Non existing field?
Es ist doch vorhanden?
Ich dreh noch durch. Ich versteh' einfach nicht woran es hängt.
Hoffe der Ansatz ist wenigstens richtig.
Nochmal zum Verständnis:
In einer Funktion wird eine Variable einer matfile eingelesen.
Ich habe in t den Variablennamen. In struct zwischenvar steckt die Variable.
Ich will die Variable (deren Name das Skript direkt nicht weiß) extrahieren und weiterverarbeiten können.
Offenbar verwirrt Dich das EVAL und EVALIN heftig. Das ist auch nicht verwunderlich, sondern sozusagen ein eingebautes Feature. Deshalb rate ich immer wieder von der Benutzung ab. Es geht nämlich ohne EVAL und EVALIN schneller, lesbarer, weniger Fehleranfällig, sicherer und deshalb besser.
Das soll da stehen - ABER ich weiß den Namen der Variable (V16b_BP4_W2zu_HQ100) nicht. Daher muss das variabel über den in t stehenden String geschehen.
Und ich bekomme es einfach nicht hin. :/
in einer Variable namens 'V16b_BP4_W2zu_HQ100' gespeichert werden.
Der Name ist je nach Nutzung immer anders, steckt aber in meiner Variable t drin. (bzw. hier in "string")
Diesen Schritt würde ich auf jeden Fall weglassen. Ich habe in diesem (und anderen) Foren Dutzende, Hunderte Fragen gelesen, bei denen das Erzeugen von dynamischen Variablen zu vielen Fehlern führte. Der Name 'V16b_BP4_W2zu_HQ100' ist für eine Variable einfach beim besten Willen nicht sachdienlich: 19 Buchstaben, aber ein nicht vollständig eingeweihter Leser hat trotzdem nicht die geringste Ahnung, was in der Variable steht!
Zudem noch EVAL und ANS zu verwenden macht den Befehl zerbrechlich.
Dann wären die wichtigen Informationen nicht in magischen Variablen-Namen versteckt und Du müsstest Dich nicht mit dem fehlerträchtigen EVAL herumschlagen.
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
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.