Matlab - Invertir las posiciones de un vector

 
Vista:

Invertir las posiciones de un vector

Publicado por Enrique (1 intervención) el 16/10/2008 19:40:06
Hola a todos,
soy nuevos en utilizar Matlab, quería saber si existe alguna funcion para invertir las posiciones de un vector. El valor de la primera posición pase a ser el valor de la última posición, el valor de la segunda posición pase a ser el valor de la penúltima posición y así succesivamente. Ej:

a=[1 2 3 4 5 ]

como resultado quisiera que quedara el vector 'a' de la siguiente manera

a=[5 4 3 2 1]

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Invertir las posiciones de un vector

Publicado por Kiko (1 intervención) el 17/10/2008 10:26:36
Hola estimado Enrique,

Creo tener la solución de tu problema, se puede implentar de una forma bastante sencilla, te comento.

a=[1 2 3 4 5 6]

Para invertir el orden debes hacer:

a=a(6:-1:1)
a=[6 5 4 3 2 1]

Puedes apreciar que por haber utilizado paréntesis –en vez de corchetes– los valores generados por el operador (:) afectan a los índices del vector y no al valor de sus elementos.

Saludos,
Kiko
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Invertir las posiciones de un vector

Publicado por Laura (1 intervención) el 03/11/2009 20:41:45
Hay que tener cuidado porque esta forma solo funciona cuando los números del vector están en orden ascendente, si son números aleatorios seguramente no nos va a funcionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por Chiky (1 intervención) el 28/08/2012 12:11:42
Si funciona ejeje lo acabo de probar de muchas formas y funciona correctamente con todo. Saludos ^^.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por mary (1 intervención) el 13/10/2010 16:12:20
funcion que reciba un vector y devuelva el mismo vector invertido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por Kike (304 intervenciones) el 18/10/2008 08:05:43
Podemos usar el comando FLIPLR.
Ejemplo:
fliplr( [10 20 30 50] )
ans =
50.0000e+000 30.0000e+000 20.0000e+000 10.0000e+000
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por Alexánder Cumbal (3 intervenciones) el 10/02/2011 07:29:06
Hola... tal vez ya no lo requieras... pero para que quede disponible para alguien con la misma inquietud.
Es simplemente jugar con los índices del vector:
Si tienes:
>>a= [1 5 2 4 3 ]
Puedes hacer:
>>b= a(5:-1:1)
Obtendrás:
b= [3 4 2 5 1]

Cambié el orden de los números para que no se mal interprete el valor 5 que aparece en la asignación al vector b.
Lo que se hace es indicarle a Matlab que genere un vector b tomando del vector a, desde la posición 5(índice) disminuyendo de a 1 unidad, hasta llegar al elemento en la posición 1.

Espero les sirva!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por sioncaera (1 intervención) el 20/12/2011 23:11:24
Hola,
para ayudar al posible buscador/buscadora añado otra opción:
1) si A es un vector en columna, el comando que invierte el orden de sus elementos es
flipud(A)
2) si A es un vector en fila, el comando que invierte el orden de sus elementos es
fliplr(A)

Espero que les sea útil.
Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Invertir las posiciones de un vector

Publicado por harold (3 intervenciones) el 20/06/2013 22:03:04
muy util, muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por Ricardo (1 intervención) el 20/10/2013 19:15:15
Waoo gracias¡¡¡ esta es la respuesta....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por Dariel (1 intervención) el 29/07/2016 11:52:37
Excelente, pienso que esta sería la solución mas adecuada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir las posiciones de un vector

Publicado por Pedropan (1 intervención) el 27/08/2016 00:15:22
Gracias hermano, definitivamente la mejor solución
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Invertir las posiciones de un vector

Publicado por carlos (1 intervención) el 31/12/2015 13:43:46
la función que buscas se llama fliprl :

a = 1:5
b = fliplr(a)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Invertir las posiciones de un vector

Publicado por luis humberto (1 intervención) el 14/03/2017 01:07:28
Tengo una pregunta para que siga cambiando pero 10 veces

se utiliza una condición o se escribe 10veces
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Invertir las posiciones de un vector

Publicado por DUMONOLAND (1 intervención) el 31/07/2017 09:14:58
generalizando, si solo se trata de un vector, podría ser:

a= [1 2 3 4 5 6 ........n]
b= a(end:-1:1)

luego:

b= [n ...... 6 5 4 3 2 1]

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar