Effacer les filtres
Effacer les filtres

save matrices of the sequential names in cell array

1 vue (au cours des 30 derniers jours)
abbas hasan
abbas hasan le 5 Sep 2014
Commenté : abbas hasan le 5 Sep 2014
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

Michael Haderlein
Michael Haderlein le 5 Sep 2014
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);
  1 commentaire
abbas hasan
abbas hasan le 5 Sep 2014
thanks a lot, thanks a lot , this function work fine.

Connectez-vous pour commenter.

Plus de réponses (1)

Iain
Iain le 5 Sep 2014
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 Matrices and Arrays 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!

Translated by