Combine each row of matrix into a single vector within a cell array
Ältere Kommentare anzeigen
Hello,
I have a big mxn matrix with m>100,000 and n=1800. Each row of this matrix contains measurement values for a specific point in time. For further processing of the data, I would like to create a mx1 cell array containing the rows of the matrix. Is there a possibility achieving this without a loop?
Here is my code, using a for loop:
A = rand(100000,1800);
b = cell(size(A,1), 1);
for ii = 1:size(b,1)
b{ii,1} = A(ii,1:end);
end
Akzeptierte Antwort
Weitere Antworten (1)
Sujit Muduli
am 9 Mär. 2018
0 Stimmen
Hello Tillmann,
I didn't find any such operation to fill the cell array in one shot without a for loop. I also don't know your exact use case but what I could suggest here is that you don't need to convert it into a cell array. But you can always get a row element of the matrix on demand, by this you may avoid a redundant for loop operation.
But if you could explain your use case and workflow briefly I may suggest you something else.
Thanks
Sujit
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!