MATLAB: Determine the loop which satisfies the particular condition.

for loop

A=[1 1;2 2;3 3;4 4;5 5;6 6;7 7;8 8;9 9;10 10;11 11;12 12;13 13]
B=[3;4;3;3]
%I need to create this loop w.r.t A and B.
x1=A(1:B(1),:)
x2=A(B(1)+1:B(1)+B(2),:)
x3=A(B(1)+B(2)+1:B(1)+B(2)+B(3),:)
x4=A(B(1)+B(2)+B(3)+1:B(1)+B(2)+B(3)+B(4),:)

Best Answer

I hope this wasn't your homework (taking you at your word since you did not tag it as homework) because it looks like it.
clc;
workspace;
A=[1 1;2 2;3 3;4 4;5 5;6 6;7 7;8 8;9 9;10 10;11 11;12 12;13 13]
B=[3;4;3;3]
% I need to create this loop w.r.t A and B.
x1=A(1:B(1),:)
x2=A(B(1)+1:B(1)+B(2),:)
x3=A(B(1)+B(2)+1:B(1)+B(2)+B(3),:)
x4=A(B(1)+B(2)+B(3)+1:B(1)+B(2)+B(3)+B(4),:)
for k = 1 : length(B)
if k == 1
row1 = 1
else
row1 = 1 + sum(B(1:k-1))
end
row2 = sum(B(1:k))
x{k} = A(row1:row2, :)
end
% Display in command window.
celldisp(x);