2016-07-08 125 views
0

我一直在使用arrayfun(試了矢量發生)如下各元素的概率在計算器的回答:我想計算

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

但這樣做的問題是,我必須找到在矢量40個不同的值出現,所以我不得不使用這個arrayfun()爲40倍,它運行的第一個值更快,但是當它的第二個值需要的時間地獄很多,我的矢量大小也是巨大的。有人可以建議我一些替代這個,這樣可以節省我的時間?

回答

0

你可以使用histunique在一起,有效地做到這一點。

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

感謝Prakhar .. –