I have two vectors x and y
x = 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.66
y = 0.051998 0.084698 0.117398 0.150098 0.182798 0.215498 0.248198 0.19 0.09 0.235118
I want to make the matrix [x,y] in such a way that x is in ascending, i.e., results should be
x = 0.1 0.2 0.3 0.4 0.5 0.6 0.66 0.7 0.8 0.9
y = 0.051998 0.084698 0.117398 0.150098 0.182798 0.215498 0.235118 0.248198 0.19 0.09
Any suggestions are apreciated and thankyou in advance for your help !!

 Respuesta aceptada

Voss
Voss el 16 de Abr. de 2022
x = [ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.66 ];
y = [ 0.051998 0.084698 0.117398 0.150098 0.182798 0.215498 0.248198 0.19 0.09 0.235118 ];
[~,idx] = sort(x);
M = [x(idx); y(idx)]
M = 2×10
0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.6600 0.7000 0.8000 0.9000 0.0520 0.0847 0.1174 0.1501 0.1828 0.2155 0.2351 0.2482 0.1900 0.0900

Más respuestas (1)

Slightly different but essentially the same
x = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.66];
y = [0.051998, 0.084698, 0.117398, 0.150098, 0.182798, 0.2154908, 0.248198, 0.19, 0.09, 0.235118];
% Sort (and replace) x and get the order in which it was sorted.
[x, sortOrder] = sort(x, 'ascend')
x = 1×10
0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.6600 0.7000 0.8000 0.9000
sortOrder = 1×10
1 2 3 4 5 6 10 7 8 9
% Sort y using the same order as x used, replacing original y with new, sorted y.
y = y(sortOrder)
y = 1×10
0.0520 0.0847 0.1174 0.1501 0.1828 0.2155 0.2351 0.2482 0.1900 0.0900

Categorías

Productos

Versión

R2021b

Etiquetas

Preguntada:

el 16 de Abr. de 2022

Respondida:

el 17 de Abr. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by