Extrair uma diagonal de uma matriz no Octave

Nesta lição, vamos explorar como extrair uma diagonal de uma matriz utilizando o Octave.

Primeiramente, o que é a diagonal de uma matriz? São os elementos que se encontram na diagonal principal da matriz. Por exemplo, na matriz abaixo, os elementos 1, 5, 9 compõem a diagonal principal. $$ M = \begin{pmatrix} \color{red}1 & 2 & 3 \\ 4 & \color{red}5 & 6 \\ 7 & 8 & \color{red}9 \end{pmatrix} $$

Vamos a um exemplo prático.

Crie uma matriz quadrada 3x3, com três linhas e três colunas.

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

ara identificar os elementos na diagonal principal, utilize o comando diag(M)

>> diag(M)
ans =
1
5
9

Os elementos na diagonal principal da matriz são os números 1, 5 e 9.

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

Para identificar os elementos na diagonal acima da diagonal principal, utilize o comando diag(M,1)

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

Este comando extrai os números 2 e 6, que estão na diagonal acima da principal.

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

Agora, utilize o comando diag(M,2)

>> diag(M,2)
ans = 3

Desta forma, você obtém os elementos na diagonal ainda mais alta e assim por diante.

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

Para extrair os elementos da diagonal abaixo da diagonal principal, utilize o comando diag(M,-1)

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

Este comando extrai os elementos abaixo da diagonal principal.

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

Se você deseja eliminar todos os outros elementos, exceto aqueles na diagonal principal, utilize o comando diag(diag(M))

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

Desta forma, você obtém uma matriz diagonal.

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

Se você deseja extrair a antidiagonal ou diagonal secundária, inverta a matriz utilizando a função fliplr().

Digite diag(fliplr(M))

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

Este comando retorna os elementosna antidiagonal da matriz.

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

Você também pode usar o comando diag() para extrair os elementos de uma matriz retangular.

Por exemplo, crie uma matriz retangular com 3 linhas e 4 colunas.

>> 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

Agora, utilize o comando diag(M2)

>> diag(M2)
ans =
1
2
3

Este comando extrai os elementos na diagonal da matriz quadrada dentro da matriz retangular.

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

Espero que esta lição tenha sido útil para entender como extrair uma diagonal de uma matriz no Octave.

Continue praticando para aprimorar suas habilidades.

 
 

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

FacebookTwitterLinkedinLinkedin

Arrays em Octave

Matrizes em Octave

FAQ

Struct e array de células