Delete zeros from an array using for loops

17 Ansichten (letzte 30 Tage)
Juan Pérez Álvarez
Juan Pérez Álvarez am 16 Feb. 2022
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)

Akzeptierte Antwort

David Hill
David Hill am 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

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by