14.12 Sistemas de Equações Lineares

A formulação matemática de problemas de engenharia conduz em diversas ocasiões a conjuntos de equações lineares simultâneas.

De uma forma geral um sistema de equações lineares pode ser expresso em termos de uma matriz de coeficientes A, um vector de termos b e um vector de incógnitas x:

\begin{displaymath}Ax=b\end{displaymath}

ou por componentes:

\begin{displaymath}
\begin{array}{ccc}
a_{1,1}x_1 + a_{1,2}x_2 + \ldots + a_{1,...
...a_{n,1}x_1 + a_{n,2}x_2 + \ldots + a_{n,n}x_n&=&b_n
\end{array}\end{displaymath}

Quando A é não-singular e quadrada ($n\times n$), ou seja que o número de equações independentes é igual ao número de incógnitas, o sistema tem uma solução única dada por:

\begin{displaymath}x=A^{-1}b\end{displaymath}

onde $A^{-1}$ é a matriz inversa de $A$. Por isso, vector de soluções $x$ pode, em princípio, ser calculado através da multiplicação, à esquerda de $b$, pela inversa de $A$.

Esta aproximação baseada na matriz inversa, apesar de formalmente correcta é ineficiente para aplicações práticas (onde o número de equações pode ser extremamente elevado) e pode conduzir a erros numéricos consideráveis a não ser que sejam utilizadas técnicas apropriadas. Varias soluções técnicas, eficientes e estáveis, têm sido desenvolvidas para resolver sistemas de equações lineares e o mais apropriado a cada situação dependerá das características da matriz dos coeficientes ($A$). Por exemplo, se esta é ou não simétrica, ou é positiva definida ou se tem uma estrutura particular (esparsa ou completa). O Matlab está equipado com muitas destas técnicas na sua biblioteca de rotinas que são chamadas automaticamente.

A rotina standard do Matlab para resolver sistemas de equações lineares é invocada pelo uso da divisão matricial à esquerda $\backslash$:

    x = A  b
onde '$\backslash$' é o operador divisão à esquerda, também conhecido como ``backslash''.

Exercício 14.2   Insira a seguinte matriz simétrica de coeficientes 'A' e o vector de termos independentes 'b' dados por:

\begin{displaymath}
A=
\left[
\begin{array}{ccc}
2 &-1& 0\\
1 &-2 & 1\\
0...
...rm{, }
b=\left[\begin{array}{c} 1  0  1 \end{array}\right]
\end{displaymath}

  1. $x=A^{-1}b$, (a inversa $A^{-1}$ pode ser calculada no Matlab usando 'inv(A)').
  2. $x=A\backslash b$
  3. $x^T=b^TA^T$, conduzindo a que $x^T=b'/ A$ faça o uso do normal operador de divisão (o resultado está, no entanto, transposto em relação ao resultado correcto).

Exercício 14.3   Use o operador ``backslash'' para resolver o sistema de equações lineares dado por:

\begin{displaymath}
A=
\left[
\begin{array}{ccc}
2+2i &-1& 0\\
-1 &2-2i& -1...
... }
b=\left[\begin{array}{c} 1+i  0  1-i \end{array}\right]
\end{displaymath}

Rodrigo Maia 2003-10-07