How to spread out an array of integers according to it's value?

5 views (last 30 days)
Hi there, say I observe a random array of integers 1-10. x = [6 3 9 4 7 10]. how can i transform this array so each integer is stored in its integer-row value. so 6 would be stored in the 6th row, 3 in the 3rd row, 9 in the 9th row, and so on and the gaps(spaces where there is no integer would be just zero) like so: resultant X = [0 0 3 4 0 6 7 0 9 10]. any help would be appreciated.
thank you.

Accepted Answer

Star Strider
Star Strider on 9 Jun 2014
This works:
x = [6 3 9 4 7 10];
y = zeros(1,max(x));
y(x) = x
producing:
y =
0 0 3 4 0 6 7 0 9 10

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!