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

6 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Star Strider
Star Strider il 9 Giu 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

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by