comparison/checking without for loop

1 回表示 (過去 30 日間)
Ricky
Ricky 2012 年 5 月 4 日
Hi there,
Say if I have a random event with just -1 and 1. e.g. a = randsrc(5,1);%that will generate a 5x1 matrix with just -1 or 1
Now say if I want to check how many of -1 or 1 in a, how can I do that without using for loop? I try to do this but doesn't work:
m =0;
if(a == 1)
m = m+1;
end
Any help would be really appreciated.
Cheers,
Rak
  1 件のコメント
Andrei Bobrov
Andrei Bobrov 2012 年 5 月 4 日
accumarray((a > 0) + 1,a)

サインインしてコメントする。

採用された回答

Geoff
Geoff 2012 年 5 月 4 日
nneg = sum(a==-1);
npos = sum(a==1);
  5 件のコメント
Geoff
Geoff 2012 年 5 月 4 日
Yes... replace '0' and '42' in my example with 't1' and 't0' respectively.
Ricky
Ricky 2012 年 5 月 4 日
Thanks Geoff!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

製品

Community Treasure Hunt

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

Start Hunting!

Translated by