How to delete rows with values 0 from matrix
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello,
I have matrix A which looks like
A = [0 0 0;  0 0 0;  5 1 0;  0 0 0; 1 0 3;  5 9 5;  0 0 0]
I am trying delete all rows in which all values are 0 from matrix A to get:
A = [5 1 0; 1 0 3;  5 9 5]
I used this. 
for i = 1:length(A(:,1))
    while A(i,1) == 0  && A(i,2) == 0 && A(i,3) == 0
        A(i,:) = [];
    end
end
At the end it gives me matrix A but also it gives me a error:
'Index in position 1 exceeds array bounds. Index must not exceed 4.' but do not know why...
2 Commenti
  VBBV
      
      
 il 1 Mag 2023
				A = [0 0 0;  0 0 0;  5 1 0;  0 0 0; 1 0 3;  5 9 5;  0 0 0]
i = 1;
while i <= length(A)       
    if isequal(A(i,1),0)  & isequal(A(i,2), 0)  & isequal(A(i,3), 0)
        A(i,:) = [];   
        % tricky part lies in next line
        i = i-1;
    end    
    i = i+1 ;   
end
A
Risposte (1)
Vedere anche
Categorie
				Scopri di più su Matrix Indexing in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


