This question was inspired by a Stack Overflow question forwarded to me by Matt Simoneau.
Given a vector x, make an indexed probability vector p that shows the likelihood of each unique element of x occurring. You can assume that x will always be composed of integers greater than 0.
For example, if x is [4 4 4 4] then the number 4 is 100% likely to occur and no other number has any likelihood of occurring. By convention, p has as many elements as the highest number in x. This makes the indexing straightforward. So in this case, p = [0 0 0 1]. That is, p(4) = 1, which is to say that 4 occurs with 100% probability, as noted above. Note that p has no dependence on the order of the elements in x.
If
x = [1 2 1 2 1 2 1 2 1 2]
then
p = [0.5 0.5].
And if
x = [5 5 2 8]
then
p = [0 0.25 0 0 0.5 0 0 0.25]
Solution Stats
Problem Comments
1 Comment
Solution Comments
Show comments
Loading...
Problem Recent Solvers2532
Suggested Problems
-
Return the largest number that is adjacent to a zero
5547 Solvers
-
middleAsColumn: Return all but first and last element as a column vector
653 Solvers
-
Generate a vector like 1,2,2,3,3,3,4,4,4,4
14381 Solvers
-
620 Solvers
-
Given a square and a circle, please decide whether the square covers more area.
1904 Solvers
More from this Author96
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
Is it not permitted by using tabulate function to solve it?