assign input to variable name
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm putting together a script that builds a .mat file and I was wondering, how can I create an array based off the name of a string? Example:
file = 'data_abc';
full_path =['folder/',file,'.csv'];
import = importdata(full_path)
data_abc = import.data;
How do you take the string and convert it to a variable name?
Thanks!
0 comentarios
Respuestas (1)
Matt Tearle
el 19 de Abr. de 2012
Generally this isn't a great idea, but if you want to, you can use eval. First make a string of the command you want to issue:
str = [file,' = import.data;'];
Then evaluate it as a command:
eval(str)
(Obviously you can combine these lines into one command, but I'm showing the steps for clarity.)
An alternative approach is to use a structure variable, using the filename as the fieldname:
x.(file) = import.data; % equivalent to x.data_abc = ...
2 comentarios
Daniel Shub
el 19 de Abr. de 2012
"it isn't a great idea" can be interpeted as "IT IS A REALLY BAD IDEA"
Ver también
Categorías
Más información sobre String Parsing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!