how to assign cell array to multiple matrix
Show older comments
If I have
C= 103x1 cell and each cell is 100x3
and I want to store this cell data in matrix using loops
such that B1=C{1}
B2=C{2}
and so on.
for i=1:size(C,1)
B(i)=C{i};
end
I am using this but it's showing indices on left side are not compatible with the size of right side.
3 Comments
Rik
on 7 Jan 2020
Don't create numbered variables. You will regret it. It is much easier to have a cell array, or a normal array. Do you want a 103x100x3 array instead?
"...such that B1=C{1} B2=C{2} and so on"
Is there a particular reason why you cannot just use indexing to access the data?
Putting numbers into variable names is a sign that you are doing something wrong. Accessing variable names dynamically is a sign that you are doing something very wrong: it forces you into writing slow, complex, obfuscated, buggy code that is hard to debug. Read this to know why:
Indexing is simple, neat, easy to debug, and very efficient. Unlike what you are trying to do.
Akshay Sahu
on 7 Jan 2020
Answers (1)
Bhaskar R
on 7 Jan 2020
B = cell2mat(C);
Categories
Find more on Matrix Indexing 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!