Setting variable names from a character array

6 vues (au cours des 30 derniers jours)
gfb
gfb le 23 Sep 2011
hi,
I have a character array, for example:
vars = ['X';'Y']
I want to assign the name of an element in vars to a double array, such as:
for i=1:2
char(vars(i,:)) = rand(10,1)
end
Unfortunately this does not work as I am obviously attempting to equate a character array to a double array of different length. Instead of course what I was attempting to do is name a double array from a predefined list.
Please help!
thx

Réponse acceptée

Jan
Jan le 23 Sep 2011
Do not do this. Creating variables dynamically a is common and frequent source of errors. In addition is is slow. See:
Use either an array, cell array or struct:
vars = {'X', 'Y'};
S = [];
for i = 1:2
S.(vars{i}) = rand(10,1);
end
Or:
C = {};
for i = 1:2
C{i} = rand(10,1);
end

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by