2016-07-08 85 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 .. –