Extracci贸n de una diagonal de una matriz en Octave

En esta lección, vamos a aprender cómo extraer una diagonal de una matriz utilizando Octave.

Primero, definamos qué es la diagonal de una matriz. Se refiere a los elementos que se encuentran en la diagonal principal de la matriz. Por ejemplo, en la siguiente matriz, los elementos 1, 5, 9 forman la diagonal principal.$$ M = \begin{pmatrix} \color{red}1 & 2 & 3 \\ 4 & \color{red}5 & 6 \\ 7 & 8 & \color{red}9 \end{pmatrix} $$

Veamos un ejemplo práctico.

Primero, creamos una matriz cuadrada 3x3.

>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9

Para identificar los elementos en la diagonal principal, utilizamos el comando diag(M)

>> diag(M)
ans =
1
5
9

Los elementos en la diagonal principal de la matriz son los números 1, 5 y 9.

$$ M = \begin{pmatrix} \color{red}1 & 2 & 3 \\ 4 & \color{red}5 & 6 \\ 7 & 8 & \color{red}9 \end{pmatrix} $$

Para identificar los elementos en la diagonal por encima de la diagonal principal, utilizamos el comando diag(M,1)

>> diag(M,1)
ans =
2
6

Este comando extrae los números 2 y 6 que están en la diagonal por encima de la principal.

$$ M = \begin{pmatrix} 1 & \color{red}2 & 3 \\ 4 & 5 & \color{red}6 \\ 7 & 8 & 9 \end{pmatrix} $$

Si queremos identificar los elementos en la diagonal aún más alta, utilizamos el comando diag(M,2)

>> diag(M,2)
ans = 3

De esta manera, podemos seguir extrayendo elementos en diagonales más altas.

$$ M = \begin{pmatrix} 1 & 2 & \color{red}3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Para extraer los elementos de la diagonal debajo de la diagonal principal, utilizamos el comando diag(M,-1)

>> diag(M,-1)
ans =
4
8

Este comando extrae los elementos debajo de la diagonal principal.

$$ M = \begin{pmatrix} 1 & 2 & 3 \\ \color{red}4 & 5 & 6 \\ 7 & \color{red}8 & 9 \end{pmatrix} $$

Si queremos eliminar todos los demás elementos, excepto los de la diagonal principal, utilizamos el comando diag(diag(M))

>> diag(diag(M))
ans =
Diagonal Matrix
1 0 0
0 5 0
0 0 9

De esta manera, obtenemos una matriz diagonal.

$$ M = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 9 \end{pmatrix} $$

Si queremos extraer la antidiagonal o diagonal secundaria, invertimos la matriz con la función fliplr() y luego aplicamos diag().

Escribe diag(fliplr(M)).

>> diag(fliplr(M))
ans =
3
5
7

Este comando devuelve los elementos en la antidiagonal de la matriz.

$$ M = \begin{pmatrix} 1 & 2 & \color{red}3 \\ 4 & \color{red}5 & 6 \\ \color{red}7 & 8 & 9 \end{pmatrix} $$

Además, el comando diag() también puede ser utilizado para extraer los elementos de un arreglo rectangular.

Por ejemplo, creamos una matriz rectangular con 3 filas y 4 columnas.

>> M2=[1 1 1 1 ; 2 2 2 2 ; 3 3 3 3]
M2 =
1 1 1 1
2 2 2 2
3 3 3 3

Ahora, aplicamos diag(M2)

>> diag(M2)
ans =
1
2
3

Este comando extrae los elementos en la diagonal de la matriz cuadrada dentro de la matriz rectangular.

$$ M = \begin{pmatrix} \color{red}1 & 1 & 1 & 1 \\ 2 & \color{red}2 & 2 & 2 \\ 3 & 3 & \color{red}3 & 3 \end{pmatrix} $$

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arreglos en Octave

Matrices en Octave

Preguntas frecuentes

Struct y array de celdas