2012-03-01 7 views
1

検索します。たとえば、は、MATLAB Iは、長さ2000個の要素の整数配列を有する整合素子

x = [2, 4, 5, 6, 5,6,7,5......]; 

この配列では、繰り返し発生する要素を見つける必要があります。私は何回「5」という数字が何回起こったのか知る必要があります。上記の例では、3回です。

一致する要素を検索する方法はありますし、MATLABで数を返しますか?

答えて

2

は、事前に数値を知っていますか?

sum(x==5) 

x==5[FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE ...]のベクトルを作成し、xは5.

sumあるたびTRUEである:

もしそうなら、それはあなたが行うことができxに表示された回数をうまくします0からFALSE地図やTRUE

+1

NNZ(のx == 5)、関数numelは、()(のx == 5を見つける。)も有効なオプションです。 IMHO彼らはあなたが合計に興味がなく、要素の数に興味があるので、読者にはより明確です。 –

2

1.簡単な方法は、共同を取得し、そのベクトルを、アップ追加

find(x == 5) 

お知らせ、カウントはまたlength(find(x == 5))です:UNTは

sum(x == 5) 

あなたは整合素子のなインデックスが必要な場合です。 ==と浮動小数点数の使用には、標準の警告が適用されます。

関連する問題