U
U
N
N
I
I
V
V
E
E
R
R
S
S
I
I
D
D
A
A
D
D
E
E
D
D
A
A
B
B
E
E
I
I
R
R
A
A
I
I
N
N
T
T
E
E
R
R
I
I
O
O
R
R
Departamento de Engenharia Electromecânica
CONTROLO DE SISTEMAS (Laboratório)
M A T L A B - Trabalho Prático 4
Todos os exercícios devem ser escritos num script.m. Deverão ser devidamente identificados e no fim de serem resolvidos o espaço de trabalho deve ser limpo.
1) Desenvolva uma função para o cálculo das raízes de uma equação de 2º grau: a x2 + b x + c = 0.
Considere saídas de dados diferentes para os casos das raízes serem reais ou complexas conjugadas (neste último caso, o determinante ∆ = b2 – 4ac é menor do que 0).
2) Testar o comando que implementa o algoritmo de eliminação gaussiana, com os seguintes sistemas e avaliar os resultados obtidos:
a) − = − = − 1 3 2 0 2 1 2 1 x x x x b) = − = − 4 6 2 2 3 2 1 2 1 x x x x
3) Considere o seguinte sistema de equações:
a) Calcule o determinante da matriz dos coeficientes.
b) Calcule a inversa da matriz dos coeficientes. c) Resolva o sistema de equações.
4) Construa um script que permita ao utilizador introduzir um sistema de equações lineares, com possibilidade de ser resolvido segundo os seguintes métodos numéricos:
• Métodos Directos: ⇒ Eliminação de Gauss. ⇒ Factorização LU. • Métodos Iterativos: ⇒ Método de Jacobi-Richardson. ⇒ Método de Gauss-Seidel.
⇒ Método da Sobre-Relaxação Sucessiva (SOR).
Nota: Ver folhas em anexo com a descrição sumária da implementação de diversos métodos de
resolução de sistemas de equações lineares.
5) Após a desenvolvimento do script de resolução de sistemas de equações lineares segundo diversos métodos numéricos, resolva os seguintes sistemas e compare as soluções obtidas em relativamente ao valor final e em consideração aos diversos métodos numéricos iterativos, o número de iterações necessárias para obter a convergência da solução:
a) − = − − − − − − 10 2 2 6 1 1 0 0 1 2 1 0 0 1 2 1 0 0 1 1 4 3 2 1 x x x x b) = − − − − − − 410 10 560 160 8 0 5 . 1 0 4 8 0 5 . 1 5 . 0 0 8 0 0 5 . 0 4 8 4 3 2 1 x x x x c) = − − 5 3 7 5 1 1 1 2 2 1 3 3 3 2 1 x x x d) = − − − − − − − − 1000 1000 0 0 4 1 1 0 1 4 0 1 1 0 4 1 0 1 1 4 4 3 2 1 x x x x e) = − − − − − 18 9 16 11 20 1 1 0 1 10 3 3 3 1 10 2 0 1 2 10 4 3 2 1 x x x x f) = − 13 7 7 8 2 3 1 4 2 1 2 6 3 2 1 x x x
Nota: Para os métodos iterativos considere Condição Inicial nula: xi(0) = 0 e um Critério de
6) Considere dois fenómenos físicos modelados matematicamente e discretizados segundo dois esquemas (Diferenças Centrais e Up-Wind). Em notação matricial, os sistemas de equações algébricas resultantes dos diversos métodos de discretização para cada um dos fenómenos físicos ( A e B ) são dados por:
i) Fenómeno Físico A
- Esquema Diferenças Centrais (CDS):
= − − − 8 0 0 0 17 9 0 0 1 13 14 0 0 6 13 19 0 0 11 17 4 3 2 1 x x x x
- Esquema Up-Wind (UDS) :
= − − − − − − 8 0 0 0 22 14 0 0 4 28 24 0 0 4 38 34 0 0 4 52 4 3 2 1 x x x x
ii) Fenómeno Físico B
- Esquema Diferenças Centrais (CDS):
− = − − − 2 10 10 10 17 19 0 0 11 13 14 0 0 6 13 9 0 0 1 17 4 3 2 1 x x x x
- Esquema Up-Wind (UDS) :
= − − − − − − 18 10 10 10 52 34 0 0 4 38 24 0 0 4 28 14 0 0 4 22 4 3 2 1 x x x x
ANEXO
De um modo geral um sistema linear com n equações e n incógnitas é representado na forma vectorial como:
= + + + = + + + = + + + n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a ... ... ... ... 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11
que na forma compacta pode ser rescrito como: Ax=b
Os Métodos Numéricos são ferramentas utilizadas para a determinação de uma solução aproximada para o problema em questão.
De seguida serão apresentados os métodos de resolução de sistemas lineares quadrados com solução única, ou seja aqueles para os quais det(A) ≠ 0. Os métodos de solução de um sistema linear são classificados em dois grandes grupos:
- Métodos Directos: são aqueles que forneceriam a solução exacta, não fossem os erros de arredondamento, com um número finito de operações.
- Métodos Iterativos: são aqueles que permitem obter a solução aproximada de um sistema com uma dada precisão através de um processo infinito convergente.
Nota: Descrição completa de cada um dos métodos em: Chapra, Steven C., Canale, Raymond P. –
Numerical Methods for Engineers, 2sd Edition, McGraw-Hill,1988.
Exposição da sequência de operações a programar para cada método:
É de salientar que o MATLAB possui funções de manipulação de matrizes, como sejam inv; tril; triu; diag; que acopladas a operações aritméticas inseridas em ciclos de controlo de fluxo de programa: if; elseif; else; while; for, permitem resolver sistemas de equações lineares.
Métodos Directos
Uma estratégia para solucionar um sistema linear é transformá-lo num sistema equivalente cuja solução é conhecida. Esta é a estratégia inerente de todos os métodos directos. Na verdade, procura-se transformar o sistema original em outro equivalente na forma triangular.
Método de Eliminação de Gauss :
Consiste em transformar o sistema dado num sistema triangular equivalente através de uma sequência de operações elementares sobre as linhas do sistema original. Essas operações são obtidas pela aplicação repetida de:
"substituir uma equação pela diferença entre essa mesma equação e uma outra multiplicada por uma constante diferente de zero''.
É claro que tal operação não altera a solução do sistema, isto é, obtêm-se com ela outro sistema equivalente ao original. Podemos organizar a sequência de tais operações de maneira que o sistema final torne-se triangular superior.
Considerando o sistema linear descrito. Inicialmente gera-se a matriz aumentada:
) 1 ( ) 1 ( 2 ) 1 ( 1 ) 1 ( ) 1 ( 2 ) 1 ( 1 ) 1 ( 2 ) 1 ( 22 ) 1 ( 21 ) 1 ( 1 ) 1 ( 12 ) 1 ( 11 ... ... ... ... ... n nn n n n n b b b a a a a a a a a a
onde para i , j = 1, 2, ... , n, aij(1) = aij e bi(1) = bi. Por hipótese temos que aii(1) ≠ 0, pois det(A1) ≠ 0.
Primeiro Passo:
Redução do sistema inicial Ax = b a um sistema equivalente cuja matriz é diagonal superior. Para este fim aplicam-se operações elementares sobre a matriz A: troca de equações, multiplicação de uma equação por uma constante diferente de zero e soma com outra equação.
Eliminar a incógnita x1 da 2ª, 3ª, ... , nª equações (isto é, anular os elementos da primeira
coluna abaixo da diagonal); para isso:
Passamos então da matriz inicial à matriz:
onde: n j n i a a b b b a a a a a i i i i j ij ij , ... , 2 , 1 ; , ... , 3 , 2 , ) 1 ( 1 1 ) 1 ( 1 ) 1 ( 1 ) 1 ( ) 2 ( ) 1 ( 1 1 ) 1 ( 1 ) 1 ( 1 ) 1 ( ) 2 ( = = − = − = Segundo Passo:
Resolução do sistema equivalente por substituição inversa em que é repetido o Primeiro Passo para a matriz:
) 2 ( ) 2 ( 2 ) 2 ( ) 2 ( 3 ) 2 ( 2 ) 2 ( 2 ) 2 ( 23 ) 2 ( 22 ... ... ... ... n nn n n n b b a a a a a a
Ou seja, a incógnita x2 é eliminada da 3ª, 4ª, ... , nª equações (isto é, anulam-se os elementos
da segunda coluna abaixo da diagonal); para isso: Obtendo-se a matriz: ) 3 ( ) 3 ( 3 ) 2 ( 2 ) 1 ( 1 ) 3 ( ) 3 ( 3 ) 3 ( 33 ) 2 ( 2 ) 2 ( 22 ) 1 ( 1 ) 1 ( 12 ) 1 ( 11 ... ... ... ... ... n nn n n n b b b b a a a a a a a a onde: n j n i a a b b b a a a a a i i i i j ij ij , ... , 3 , 2 ; , ... , 4 , 3 , ) 2 ( 22 ) 2 ( 2 ) 2 ( 2 ) 2 ( ) 3 ( ) 2 ( 22 ) 2 ( 2 ) 2 ( 2 ) 2 ( ) 3 ( = = − = − =
E assim sucessivamente até chegar ao: (n-1)º:
− − − − − − − − − − ) ( ) 1 ( 1 ) 3 ( 3 ) 2 ( 2 ) 1 ( 1 ) ( ) 1 ( , 1 ) 3 ( 3 ) 2 ( 2 ) 1 ( 1 ) 1 ( 1 , 1 ) 3 ( 1 , 3 ) 3 ( 33 ) 2 ( 1 , 2 ) 2 ( 22 ) 1 ( 1 , 1 ) 1 ( 12 ) 1 ( 11 ... ... ... ... n n n n n n n n n n n n n n n n n n n b b b b b a a a a a a a a a a a a a onde: n n j n i a a b b b a a a a a n n n n n i n n n i n i n n n n n i n j n n ij n ij , 1 ; , ) 1 ( 1 , 1 ) 1 ( 1 , ) 1 ( 1 ) 1 ( ) ( ) 1 ( 1 , 1 ) 1 ( 1 , ) 1 ( , 1 ) 1 ( ) ( − = = − = − = − − − − − − − − − − − − − − − −
Que em termos de notação compacta corresponde a :
x = A-1* b
Método LU
(Factorização LU):
Quando uma matriz A qualquer pode ser decomposta no chamado produto LU, onde L e U são matrizes triangulares inferior e superior respectivamente. Se a matriz A do sistema Ax=b for decomponível no produto LU então o sistema reduz-se à solução de dois sistemas triangulares:
L : Matriz triangular inferior (diagonal unitária)
U : Matriz triangular superior
Métodos Iterativos
Tais métodos devem ser aplicados quando a matriz dos coeficientes é esparsa (matrizes esparsas são aquelas que possuem muitos elementos iguais a zero). Podem ser usados também para reduzir os erros de arredondamento na solução obtida por métodos directos e sob certas condições podem ser aplicados para resolver conjunto de equações não lineares.
Um método é iterativo quando fornece uma sequência de aproximações da solução, cada um dos quais é obtido dos anteriores pela repetição do mesmo tipo de processo.
Critério Geral de Convergência:
Se || || é uma norma qualquer de matrizes a condição || B || < 1 é suficiente para garantir a convergência do processo iterativo.
Critério de Paragem do Processo:
Num método iterativo, o critério de paragem do processo é dado pela avaliação do erro relativo: ε < − ∞ + ∞ + ) 1 ( ) ( ) 1 ( k k k x x x
, onde ε é a precisão da solução pretendida.
Método de Jacobi-Richardson:
L : Matriz triangular inferior (inferior à diagonal principal)
D : Matriz diagonal
R : Matriz triangular superior (superior à diagonal principal) Isto é, ≤ > = j i j i a lij ij , 0 , ≠ = = j i j i a dij ij , 0 , ≥ < = j i j i a rij ij , 0 , Então: A = L + D + R
Supondo det(D) ≠ 0, o sistema original pode ser transformado em :
( L + D + R ) x = b D x = - ( L + R ) x + b x = - D-1 ( L + R ) x + D-1 b
Sendo o Método de Jacobi-Richardson como processo iterativo definido por:
Simplificando, obtém-se:
x(k+1) = D-1 ( b - ( L + R ) x(k) )
Método de Gauss-Seidel:
M = L + D : Matriz triangular inferior
R : Matriz triangular superior (superior à diagonal principal)
Em que o procedimento iterativo é dado por:
x(k+1) = ( L + D ) - 1 ( b - R x(k) )
Método SOR:
O processo para acelerar o Método de Gauss-Seidel denomina-se Método da
Sobre-relaxação Sucessiva (SOR) e consiste na introdução de um factor de Sobre-relaxação α para acelerar o
processo : Sobre-relaxação ( 1 < α < 1.4 ) ou para promover a convergência da solução através de um avanço mais lento : Sub-relaxação ( α < 1 ).