2016-07-08 17 views
0

ベクトルで発生する各要素の確率を計算したい:stackoverflowの上で答えたように私は次のように)私はarrayfunを(使用して、それを試してみました

prob_y = arrayfun(@(x)length(find(y==x)), unique(y))/length(y) 

しかし、これに伴う問題は、私が見つけなければならないということです40個の異なる値が1回発生するので、このarrayfun()を40回使用する必要があります。最初の値はより速く実行されますが、2番目の値に行くと時間がかかり、ベクトルサイズが大きくなります巨大です。誰かが私の時間を節約できるようにこれのためにいくつかの代替案を提案してもらえますか?

答えて

0

これを効率的に行うには、histuniqueを一緒に使用できます。

[a, b] = hist(y, unique(y)); 
a = a/length(y); 
+0

ありがとうPrakhar .. –

関連する問題