Clear Filters
Clear Filters

How to store rows of matrix into cell array?

44 views (last 30 days)
Hello Sir,
How can i store different rows of matrix to cells in an cell array. For example: I have a matrix name 'tab' with 5 rows and i want to store every row of 'tab' into different cells of 'v_r' cell array.
tab = magic(5);
v_r = cell(1,5);
Output should be:

Accepted Answer

Image Analyst
Image Analyst on 20 Mar 2022
Edited: Image Analyst on 20 Mar 2022
Try this:
tab = magic(5);
v_r = cell(1,5);
for row = 1 : size(tab, 1)
v_r{row} = tab(row, :);
end
v_r % Show in command window
v_r = 1×5 cell array
{[17 24 1 8 15]} {[23 5 7 14 16]} {[4 6 13 20 22]} {[10 12 19 21 3]} {[11 18 25 2 9]}
By the way, this just complicates things and is less efficient than just leaving them in a matrix. I would not recommend putting the rows into a cell array.

More Answers (1)

Matt J
Matt J on 20 Mar 2022
Edited: Matt J on 20 Mar 2022
tab = magic(5);
v_r=num2cell(tab,2)
v_r = 5×1 cell array
{[ 17 24 1 8 15]} {[ 23 5 7 14 16]} {[ 4 6 13 20 22]} {[10 12 19 21 3]} {[ 11 18 25 2 9]}

Categories

Find more on Multidimensional 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!