Extraer elementos de un arreglo
En esta lección, explicaré cómo extraer elementos de una matriz de Matlab utilizando la técnica de "slicing".
Primero, crea una matriz con algunos valores numéricos.
>> v=[10 11 12 13 14 15 16]
v =
10 11 12 13 14 15 16
La matriz está compuesta por siete elementos, que en este caso son siete enteros.
Si quieres extraer los primeros tres elementos de la matriz, escribe b=v(1:3)
>> b=v(1:3)
b =
10 11 12
Este comando extrae los elementos desde la posición 1 (el primer elemento) hasta la posición 3 (el tercer elemento) de la matriz v.
En Matlab, el primer elemento de una matriz siempre tiene un índice igual a uno.
Luego, guarda los valores recién extraídos en la matriz b.
Nota que el símbolo de dos puntos (:) separa las dos posiciones extremas del rango. Esta técnica se llama "slicing" y te permite extraer y modificar la matriz rápida y fácilmente. También se utiliza en otros lenguajes de programación, como Python.
Si quieres extraer los elementos tercero, cuarto y quinto de la matriz v, escribe b=v(3:5)
>> b=v(3:5)
b =
12 13 14
Para extraer los valores primero, tercero y quinto de la matriz v, escribe b=v([1 3 5])
>> b=v([1 3 5])
b =
10 12 14
También puedes extraer dos intervalos de elementos de la matriz separándolos con un espacio o una coma.
Por ejemplo, para extraer los primeros dos elementos junto con los sexto y séptimo elementos, escribe b=v([1:2 6:7])
>> b=v([1:2 6:7])
b =
10 11 15 16
Para extraer el último elemento de la matriz, puedes indicar la posición del elemento o usar la palabra clave "end".
Por ejemplo, para extraer el último elemento de la matriz v, escribe b=v(end)
>> b=v(end)
b = 16
La palabra clave "end" es muy útil porque te permite extraer los últimos elementos de la matriz incluso si no conoces la longitud de la matriz o el número de sus elementos.
Por ejemplo, si quieres extraer los elementos de la matriz a partir del cuarto elemento, escribe b=v(4:end)
>> b=v(4:end)
b =
13 14 15 16
Si quieres extraer los últimos tres elementos de la matriz, escribe b=v(end-2:end)
>> b=v(end-2:end)
b =
14 15 16
También puedes extraer elementos estableciendo un tamaño de paso y agregando un parámetro intermedio adicional en el "slicing".
¿Qué es el tamaño de paso? Es un número entero que indica el incremento desde una posición de la matriz hasta la siguiente posición durante la extracción.
Por ejemplo, para extraer los elementos en posiciones impares, escribe b=v(1:2:end)
En este caso, Matlab extrae los elementos del primero al último usando un tamaño de paso de 2.
>> b=v(1:2:end)
b =
10 12 14 16
El tamaño de paso también puede ser un número entero negativo.
Por ejemplo, para extraer los elementos del arreglo desde el último hasta el primero en orden inverso, escriba b=v(end:-1:1)
>> b=v(end:-1:1)
b =
16 15 14 13 12 11 10
La segmentación también le permite reemplazar algunos elementos del arreglo asignándoles otros valores.
Por ejemplo, para reemplazar los primeros dos valores del arreglo con 20 y 21, escriba v([1 2]) = [20 21]
>> v([1 2]) = [20 21]
v =
20 21 12 13 14 15 16
También puede asignar un solo valor a varios elementos del arreglo.
Por ejemplo, para asignar el valor 99 al primer y segundo elemento del arreglo, escriba v([1 2]) = 99
>> v([1 2]) = 99
v =
99 99 12 13 14 15 16
Esto le permite modificar fácilmente elementos específicos de un arreglo mediante un solo comando.