How to store rows of matrix into cell array?

39 次查看(过去 30 天)
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:

采纳的回答

Image Analyst
Image Analyst 2022-3-20
编辑:Image Analyst 2022-3-20
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.

更多回答(1 个)

Matt J
Matt J 2022-3-20
编辑:Matt J 2022-3-20
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]}

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by