Clear Filters
Clear Filters

save matrices of the sequential names in cell array

1 view (last 30 days)
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.

Accepted Answer

Michael Haderlein
Michael Haderlein on 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);

More Answers (1)

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

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!