|
|
Variablennamen ändern mit Skript |
|
Sören95 |
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 12.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 06.07.2022, 11:37
Titel: Variablennamen ändern mit Skript
|
|
Moin,
ich stolpere gerade über ein Problem. Ich versuche einen Timetable umzubenennen und suche eine Möglichkeit, das nicht manuell machen zu müssen.
Wie kann ich die Variable mit einem Skript ändern, ohne manuell den Namen ändern zu müssen?
Besten Dank!
|
|
|
|
|
Sören95 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 12.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 06.07.2022, 11:44
Titel:
|
|
Ich habe erst gedacht, dass die Umbenennung der Variable einfach auf diese Weise funktioniert:
Aber das klappt leider nicht.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.07.2022, 12:59
Titel:
|
|
Hallo,
prinzipiell ist das mit
eval
möglich. Allerdings wird damit das Debuggen und das automatisierte Weiterverarbeiten der Variablen schwierig, daher wird generell davon abgeraten.
Wie willst du diese Variable weiterverarbeiten? Werden mehrere solcher Variablen erzeugt, z.B. in einer for-Schleife?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Sören95 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 12.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 06.07.2022, 13:13
Titel:
|
|
Genau, letztlich sollen 20 dieser Variablen in einer for-Schleife erzeugt werden. Es wird immer ein neues ncfile geöffnet und eine his_waterlevel Variabel erstellt, welche dann mit den Ziffern aus der nc-Datei versehen werden sollen. Also genauso, wie in dem Beispiel.
Als nächstes wird ncfile = 'Kali_56,5_his.nc' geöffnet. Mein Skript erstellt dann eine Variable his_waterlevel, welche in his_waterlevel56,5 umbenannt werden soll.
Zur Not könnte ich die Variablen auch manuell umbenennen. Die Anzahl ist ja noch überschaubar, aber ich dachte da würde es eine schickere Möglichkeit geben.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.07.2022, 15:10
Titel:
|
|
Hallo,
die Frage ist eher, ob man die Variablen überhaupt umbenennen und somit den Workspace "zumüllen" sollte. Alternative könnten Cells / Structs / Tables sein, in denen der nc-Wert und der zugehörige Timetable hinterlegt sind.
Die Frage bleibt:
Wie willst du diese Variablen weiterverarbeiten?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Sören95 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 12.01.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2020b
|
|
|
|
|
|
Verfasst am: 08.07.2022, 12:24
Titel:
|
|
Danke für den Hinweis mit dem Struct, das hat mir tatsächlich den entscheidenden Hinweis gegeben. Und übersichtlicher macht es das auch, wenn alle Variablen innerhalb des Structs abgespeichert werden.
Das Stichwort war "dynamic fieldnames".
Der Befehl steht innerhalb einer for-Schleife, in der immer ein neues ncfile geöffnet wird, dessen Namen dann im Struct verwendet wird. Das Thema ist für mich damit geklärt.
|
|
|
|
|
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.
|
|