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.

 採用された回答

Michael Haderlein
Michael Haderlein 2014 年 9 月 5 日

0 投票

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 件のコメント

abbas hasan
abbas hasan 2014 年 9 月 5 日
thanks a lot, thanks a lot , this function work fine.

サインインしてコメントする。

その他の回答 (1 件)

Iain
Iain 2014 年 9 月 5 日

0 投票

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) ';'])

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by