Interchange variable names and strings
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Timothy Cale
am 21 Feb. 2012
Bearbeitet: Asl
am 21 Okt. 2013
How do I convert a string to a variable name (and vice versa)?
I want to read in a string, and use it as a variable name, such as when I load a *.mat, in which the variable names depend upon which program generated/saved the *.mat.
I can see it useful to convert a variable name to a string.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 21 Feb. 2012
<http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F
Consider using
S = load('YourMATFile.mat');
the_var_names = fieldnames(S);
second_var = S.(the_var_names{2});
You can slice, dice, trice, even julienne!
2 Kommentare
Walter Roberson
am 23 Feb. 2012
the_var_names in the above code would contain the variable names.
I just pulled out the second one as an example to show how you can get at the data.
Weitere Antworten (1)
Doug Hull
am 21 Feb. 2012
We need more details on what you are doing, but this is likely a bad idea. Your code is going to be very difficult to write like this, and you will be fighting MATLAB along the way quite a bit.
There are probably better ways of doing this than allowing users to define the internal variable names to your program. You would need to validate the names, write your code to handle unknown variable names, etc. There is likely a better way.
Siehe auch
Kategorien
Mehr zu File Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!