A function that counts the number of zeros in a vector

6 ビュー (過去 30 日間)
Lubos Plechac
Lubos Plechac 2021 年 10 月 12 日
回答済み: Jan 2021 年 10 月 12 日
D = ones(1,20);
for i = 1:20;
if mod(i,2) == 0;
D(i) = 0;
end
end
---------
D = [ 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0]
and I need A function that counts the number of zeros in a vector I know there are 10 zeros but how to earn? I found only this but is not enough.
sum(find(D==0)/11) = 10

回答 (3 件)

Stephen
Stephen 2021 年 10 月 12 日
編集済み: Stephen 2021 年 10 月 12 日
D = [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0];
nnz(D==0)
ans = 10

Dave B
Dave B 2021 年 10 月 12 日
you were pretty close, you just didn't need the find, or the /11
D = [ 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0]
D = 1×20
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
sum(D==0)
ans = 10

Jan
Jan 2021 年 10 月 12 日
Beside
sum(D == 0)
nnz(D)
This would be working also, if the elements are 0 or 1 only:
numel(D) - sum(D)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by