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