Matriz Inversa no Matlab

Nesta lição, explicarei como calcular a matriz inversa de matrizes quadradas ou retangulares no Matlab.

O que é a matriz inversa? Uma matriz M é invertível quando existe outra matriz, conhecida como matriz inversa M-1, cujo produto com M resulta em uma matriz identidade. Esta é uma matriz com elementos 1 na diagonal principal e 0 nos demais elementos. Por exemplo, $$ M \cdot M^{-1} = I $$.

Apresentarei um exemplo prático a seguir.

Defina uma matriz quadrada de duas linhas e duas colunas.

>> M=[1 2; 3 4]
M =
1 2
3 4

Calcule a matriz inversa M-1 de M utilizando a função inv().

>> inv(M)
ans =
-2.00000 1.00000
1.50000 -0.50000

Agora, multiplique M pela sua inversa inv(M).

O resultado é uma matriz identidade.

>> M*inv(M)
ans =
1.00000 0.00000
0.00000 1.00000

A função inv() só deve ser usada para matrizes quadradas.

Nota: Nem todas as matrizes quadradas são invertíveis. Uma matriz quadrada com determinante igual a zero, por exemplo, não é invertível e não possui matriz inversa. Se a matriz não for invertível, a função inv() exibirá a mensagem de erro "Aviso: matriz é singular para precisão de trabalho". Sempre verifique se o produto M*inv(M) resulta em uma matriz identidade após calcular a inversa.

Como calcular a matriz inversa de matrizes retangulares?

No Matlab, é possível calcular a inversa de matrizes retangulares.

Neste caso, utilize a função pseudo inversa pinv().

Por exemplo, defina uma matriz retangular M2:

>> M2=[1 2 3; 4 5 6]
M2 =
1 2 3
4 5 6

Esta é uma matriz 2x3.

Calcule a matriz inversa de M2 com a função pinv().

>> pinv(M2)
ans =
-0.94444 0.44444
-0.11111 0.11111
0.72222 -0.22222

O Matlab retorna a inversa de M2.

Para confirmar, multiplique M2 pela sua inversa pinv(M2).

>> M2*pinv(M2)
ans =
1.00000 -0.00000
0.00000 1.00000

O resultado do produto M*pinv(M2) é uma matriz identidade, confirmando a corretude do cálculo.

Nota: No Matlab, a função pinv() pode ser usada para calcular a inversa de matrizes tanto quadradas quanto retangulares. Assim, pinv() pode substituir inv() em matrizes quadradas, com o mesmo resultado.
A diferença entre as funções inv() e pinv()
No entanto, inv() é restrita apenas a matrizes quadradas.

 
 

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

FacebookTwitterLinkedinLinkedin

Matrizes no Matlab

FAQ