assign input to variable name
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Matt Tearle
le 19 Avr 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 commentaires
Voir également
Catégories
En savoir plus sur Workspace Variables and MAT Files dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!