Extract 2 rows each to be stored in column.

1 view (last 30 days)
A = [7
9
2
1
8
3];
for i=1:6
B{i}=A(1:2,:);
end
Hello everyone, I have some difficulty related with extract 'n' rows to be stored in the column. I need the rows to be like below, however, I got the result as B=[7;9] instead.
B{1}= [7
9]
B{2}= [2
1]
B{3}= [8
3]

Accepted Answer

KSSV
KSSV on 5 Aug 2017
Why you want a loop? You can do this in one step using reshape.
B=reshape(A,2,[]);

More Answers (1)

Star Strider
Star Strider on 5 Aug 2017
Try this:
R = reshape(A, 2, []);
B = mat2cell(R, 2, ones(1,size(R,2)));
Check = [B{:}] % Check Result
Check =
7 2 8
9 1 3
  2 Comments
Siti Suhaila
Siti Suhaila on 5 Aug 2017
Thank you very much......appreciated it...
Star Strider
Star Strider on 5 Aug 2017
My pleasure.
Note that my code gives you the cell array your Question wants.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!