How to count no. of time state occur in sequence and then divide by sequence no.?
1 view (last 30 days)
Show older comments
Suppose I have a sequence 1,3,3,1,2,1,4,2,3,1,4,2,4,4,4,3,1,2,5,1 I have to count no. of times each state occur and then divide by sequence length and then take product, here 1 occur 6 times, 2 for 4, 3 for 4, 4 for 5 and 5 for 1 times occurring and sequence length is 20, so my final answer should be (6/20)*(4/20)*(4/20)*(5/20)*(1/20)=0.00014.
0 Comments
Answers (3)
Andrei Bobrov
on 7 May 2016
a =[1,3,3,1,2,1,4,2,3,1,4,2,4,4,4,3,1,2,5,1];
[a1,~,c] = unique(a);
out = prod(accumarray(c,1)/numel(a));
Azzi Abdelmalek
on 7 May 2016
Edited: Azzi Abdelmalek
on 7 May 2016
v=[1,3,3,1,2,1,4,2,3,1,4,2,4,4,4,3,1,2,5,1]
out=prod(nonzeros(accumarray(v',1))/20)
0 Comments
See Also
Categories
Find more on Markov Chain Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!