MATLAB: Remove and save row of matrix in while loop

remove row of matrix in while loop

I have
remove_b=[]
a=[0,1,1,1,1,0,1;0,0,1,1,0,1,1;0,0,0,1,1,0,1;0,0,0,0, 1,1,0;0,0,0,0,0,0,0];
b=[1,1;1,2;1,4;1,5;1,9];
[n1,i]=max(sum(a~=0,2));
while loop
while (n1~=1) && (n1~=0)
b(i,:)=[];
remove_b=b(i,:);
a(i,:)=[];
[n1,i]=max(sum(a~=0,2));
end
I want to save remove_b in while loop
result should be
remove_b=[1,2;1,4;1,5;1,9]

Best Answer

With a cycle as you require:
remove_b = []
a = [0,1,1,1,1,0,1; 0,0,1,1,0,1,1; 0,0,0,1,1,0,1; 0,0,0 , 0, 1,1,0; 0,0,0,0,0,0,0];
b = [1.1; 1.2; 1.4; 1.5; 1.9];
[n1, i] = max (sum (a ~ = 0.2));
while (n1 ~ = 1) && (n1 ~ = 0)
     
      b (i,:) = [];
      remove_b = vertcat (remove_b, b (i, :));
      a (i,:) = [];
      [n1, i] = max (sum (a ~ = 0.2));
    
end
disp (remove_b)