save matrices of the sequential names in cell array

hi all,
i have question about matrices of the sequential names in cell array with for loop, the matrices named like this A1,A2,A3,....... and so on.
i used this code
for i = 1:5 eval(['A' num2str(i) '=i*ones(2*i,2*i)']); C{i}=(['A', num2str(i)]); end
but i get in the cell only the char of matrix with out the value inside it.
i will be grateful to any help.

 Réponse acceptée

Why everybody wants to put the index into the variable name? That's exactly how you not profit from Matlab's strengths.
I guess you want to have something like
A=cellfun(@(x) x*ones(2*x),num2cell(1:5),'uniform',false);

Plus de réponses (1)

Why not just use cell arrays?
for i =1:5
A{i} = i*ones(2*i,2*i);
C{i} = A{i};
end
But if you insist on using eval,
eval(['C{i} = A' num2str(i) ';']) or...
C{i} = eval(['A' num2str(i) ';'])

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by