Delete zeros from an array using for loops

1 view (last 30 days)
Hi I need delete zero elements of an array.
Note: I know theres a lot of way to complete this task.
Example: A = [1,0,2,3,0,0];
B = B(B~=0);
or
B = nonzeros(A);
I'm tryng this:
% Know the number of zeros
LA = length(A); Cont = 0;
for i = 1: LA
if A(i) == 0
Cont = Cont + 1;
end
end
% Dimention of the array B
LB = LA-Cont; B = zeros(LB,1);
for j=1:LB for k=1:LA
if A(k) ~= 0
B(j) =[A(k)];
end
end
end
Using this code I get this:
B = [3,3,3];
Because this code not reset when find a number different of zero.
Any idea? (using for loops)

Accepted Answer

David Hill
David Hill on 16 Feb 2022
A = [1,0,2,3,0,0];
B=[];
for k=1:length(A)
if A(k)~=0
B=[B,A(k)];
end
end

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!