Borrar filtros
Borrar filtros

How to Sort a matrix and a vector?

1 visualización (últimos 30 días)
Ami
Ami el 5 de Jun. de 2011
I have a vector of 1 column and a matrix of 5 x5, what I need to do is, assing 1 number of P to one numer of time in the first row, like number 1 to 1.7597 and 2 to 2.1777, is like colum per row but I need to assing it randomly, the number 1 have 5 changes to pick a number of the firts row, the number 2 have 5 changes of the row 2. How can I do this? I'm using matlab 2010
P =
1
2
3
4
5
time =
1.7597 1.6340 1.7157 1.6738 2.0185
2.3452 2.1777 2.2866 2.2308 2.6901
3.1412 2.9169 3.0627 2.9880 3.6032
2.8993 2.6922 2.8268 2.7579 3.3256
4.5961 4.2678 4.4812 4.3719 5.2720

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 5 de Jun. de 2011
Try this:
a=eye(5);
b=randperm(5);
c=a(b,:);
time(logical(c))=P;
  3 comentarios
Matt Fig
Matt Fig el 6 de Jun. de 2011
If the solution provided by Fangjun is not correct, you should give an example of expected inputs and outputs instead of trying to describe it with words. I see you gave P and time, but what result do you expect. SHOW the result, don't describe it. You can add it to your original question above by clicking the Edit button.
Fangjun Jiang
Fangjun Jiang el 6 de Jun. de 2011
@Ami, You need to clarify your comments. Reading your original question, you want to put P(1) into the first row of time randomly, P(2) into the second row of time randomly, etc. My code did that. Are you asking a separate question?

Iniciar sesión para comentar.

Más respuestas (0)

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!

Translated by