convert strings back to variable names?
Afficher commentaires plus anciens
I copied a piece of code below. xs, ys and zs contain strings that happen to be variable names, and I'm checking to see if these variables exist using the find.. = ismember() function. Each of those strings that are variable names are variables whos values are arrays and I'd like to concatenate whatever variables do exist.
For example: if x1a and xA exist, I want to join both of those arrays to make one array stored in grids2project.x.xgrdc(i) = [x1a;xA]. (This piece of code is in a for-loop, hence the (i)). The code below just gives me the strings when i set the value = xs(findxs).
xs = {'x1a','x2b','xA'};
findxs = ismember(xs,who);
ys = {'y1a','yB','y2c'};
findys = ismember(ys,who);
zs = {'zC','z1b','z2c'};
findzs = ismember(zs,who);
grids2project.x.(genvarname(['xgridc' num2str(i)],who)) = xs(findxs);
grids2project.y.(genvarname(['ygridc' num2str(i)],who)) = ys(findys);
grids2project.z.(genvarname(['zgridc' num2str(i)],who)) = zs(findzs);
Thanks!
Réponse acceptée
Plus de réponses (1)
Paulo Silva
le 9 Juil 2011
Just a simple example on how to create 3 variables with predetermined values.
v={'x1a','x2b','xA'};
values={10,20,30};
for n=1:numel(v)
vn=values(n);
assignin('base',char(v(n)),vn{:})
end
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!