Delete zeros from an array using for loops

2 ビュー (過去 30 日間)
Juan Pérez Álvarez
Juan Pérez Álvarez 2022 年 2 月 16 日
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)

採用された回答

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by