how to sort values depending on other vector?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Shubham Mohan Tatpalliwar
el 23 de Oct. de 2018
Abierta de nuevo: Walter Roberson
el 22 de Dic. de 2018
if true
% code
x=[0,50,150,100,50,150,0,100,150,0,50,150]
y=[1,2,3,3,2,1,1,2,3,3,2,1]
i want to sort y as 0 to 1, 1 to 2 and 2 to 3
for x 0 to 50 and 50 to 100
0 comentarios
Respuestas (1)
Steven Lord
el 23 de Oct. de 2018
If I understand what you've described correctly, you want to sort y and break ties among elements in y that have the same value based on the corresponding elements of x. Is that right? If so, you can pack the two vectors into a matrix and use sortrows to sort first by the column corresponding to y then by the column corresponding to x. In my sample code below, the y column is column 2 and the x column is column 1 so I sortrows using [2 1].
x = [0,50,150,100,50,150,0,100,150,0,50,150]
y = [1,2,3,3,2,1,1,2,3,3,2,1]
M = [x.', y.']
M2 = sortrows(M, [2 1])
If you need to know which row in M went to which row in M2 (or equivalently which elements in x and y went where in M2) call sortrows with two outputs.
5 comentarios
Steven Lord
el 23 de Oct. de 2018
how should i code to create 42 vectors?
How are you planning to use that data? I suspect your ultimate goal is not "to sort the values and count it" -- unless this is part of a homework assignment, I expect you want to do something with the sorted data and/or the counts. What is that something?
Shubham Mohan Tatpalliwar
el 23 de Oct. de 2018
Editada: Shubham Mohan Tatpalliwar
el 23 de Oct. de 2018
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!