Вы находитесь на странице: 1из 4

Aplicação do método de

Eliminação de GAUSS em Matlab

Felipe Nunes1 Yuri Franklin2 Lúcio Cardoso3


felipenl12@gmail.com yuri.fr@uol.com.br duducardosl@hotmail.com
1 Associação Educacional Dom Bosco (AEDB), Faculdade de Engenharia de Resende - Resende, RJ, Brasil
2 Associação Educacional Dom Bosco (AEDB), Faculdade de Engenharia de Resende - Resende, RJ, Brasil
3 Associação Educacional Dom Bosco (AEDB), Faculdade de Engenharia de Resende - Resende, RJ, Brasil

Resumo

Neste trabalho apresentaremos o método de Eliminação de Gauss que consiste


transformar o sistema linear original num sistema linear equivalente, com matriz dos
coeficientes triangular superior de resolução imediata, ou seja, Ax=b num outro
A'x=b', e para isso se utilizando uma estratégia de pivoteamento minimizando assim
possíveis erros de arredondamento. Para transformar esse sistema inicial em um
equivalente mais simplificado uma seqüência de passos elementares que se traduz em:
troca da ordem das equações; multiplicação de ambos os membros de qualquer das
equações por uma constante não-nula; e adição de um múltiplo de uma das equações
a uma outra equação do sistema, será mostrada, finalizando o trabalho com um
exemplo resolvido para melhor visualização. Vale ressaltar que este método foi
implementado em Matlab.

Palavras-chave: Eliminação de Gauss, Sistemas lineares, Matlab.

Introdução

Eliminação de Gauss é um método muito


utilizado para resolver sistemas lineares, Desenvolvimento
transformando o sistema original em um
equivalente simplificado de mesma solução. Para Seja Ax=b um sistema linear, em que A é
esta modificação aplica-se sobre as equações do uma matriz quadrada n x n.
sistema Ax=b uma seqüência de operações
elementares escolhidas entre:  a11 L L a1n   x1   b1 
 M O M   M   M 
i) trocar duas equações;
 =
ii) multiplicar uma equação por uma constante
 M O M  M   M 
não-nula;
    
iii) adicionar um múltiplo de uma equação a uma an1 L L ann   xn  bn 
outra equação.
(1)
Objetivo O método consiste em eliminar todos
elementos aij, i>j modificando sistemas lineares de
• Aprender um novo método para resolução de forma a obter um sistema equivalente com uma
Sistemas Lineares; matriz triangular superior, pois este é mais simples
• Implementar um programa do método de e de fácil resolução, ou seja, dada através de
eliminação Gauss em Matlab. substituições.
Então este é o procedimento para casos
de n equações lineares simultâneas em n variáveis. Estratégias de pivoteamento

Passos Para não se ter pivô nulo o que tornaria o


trabalho impossível, e para se evitar trabalhar com
Admitimos que as equações tenham sido pivô próximo de zero o que pode conduzir a
ordenadas de modo que akk ≠ 0 e definindo-se n-1 resultados totalmente imprecisos, devemos
multiplicadores, teremos: contornar esses problemas utilizando uma
estratégia de pivoteamento, ou seja, adotar um
Eliminação processo de escolha da linha e/ou coluna pivotal.
 Para k = 1, K , n − 1
 Estratégia de pivoteamento parcial
  Para i = k + 1, K , n
 a ik Esta estratégia consiste em:
m =
 a kk i) no início da etapa k da fase de eliminação,

 a ik = 0 escolher para pivô o elemento de maior módulo
 entre os coeficientes.
  Para j = k + 1, K , n
  a = a − ma aik( k −1) , i = k , k + 1,L, n
  ij ij kj
(3)
 bi = bi − mbk
ii) trocar as linhas k e i se for necessário.
Após eliminarmos xn-1 da última equação,
o sistema triangular final é dado por: Estratégia de pivoteamento completo

Nesta estratégia, no início da etapa k é


a11 L L a1n   x1   b1  escolhido para pivô o elemento de maior módulo,
0 O M   M   M  entre todos os elementos que atuam no processo
 = de eliminação:
 M 0 O M  M   M 
    
 0 L 0 ann   xn  bn  máx aij( k −1) = ars( k −1) ⇒ pivô = ars( k −1)
(2)
∀i, j ≥ k
A substituição regressiva então produz a (4)
solução como se segue:
Fatoração de Matrizes (Método LU)

Os fatores LU podem ser construídos


usando a idéia básica do método de eliminação de
Resolução do sistema Gauss, pois a obtenção desses fatores por fórmulas
dificulta o uso de estratégia de pivoteamento.
 x n = bn / a nn Fatorando a matriz A em duas matrizes

  Para k = (n − 1), K , n
triangulares L e U, sendo que o fator L é triangular
 s = 0
inferior com diagonal unitária e seus elementos lij

para i > j são os multiplicadores mij obtidos no
  Para j = (k + 1), K , n
processo de eliminação de Gauss; o fator U é
 s = s + a x
triangular superior e é obtida no final da faze da
 kj j triangularização.

  x k = (bk − s ) / a kk

 1 0 L 0 a11(1) L L a1n (1) 
O algoritmo acima efetua, na fase de m 1 O M   0 a22(2) L a2n (2) 
A = LU = 
21
eliminação, (4n3+3n2-7n)/6 operações e, para
 M O O 0  M O O M 
resolver o sistema triangular superior será 
 ( n) 
efetuadas n2 operações, tendo assim um total de mn1 L mn n−1 1  0 L 0 ann 
144424443 14444244443
(4n3+9n2-7n)/6, para se resolver um sistema linear L U

pelo método de Eliminação de Gauss. (5)


2 1 1   x1   2 
No caso de aplicação da estratégia de 1 − 3 1   x  =  − 4
pivoteamento parcial à fatoração LU será    2  
necessário a permutação de linhas na matriz A, 2 − 1 − 2  x3   3 
obtendo-se:

LUx = Pb (6) Primeiramente vamos formar uma matriz


utilizando a matriz dos coeficientes juntamente
Algoritmo para programação em Matlab com o vetor dos termos independentes formando
assim uma “matriz aumentada”:
1º passo - Dados iniciais
2 1 1 2
A: Entrar com valores da matriz A; 1 − 3 1 − 4
b: Entrar com valores da matriz b.  
Condição para a execução do programa 2 − 1 − 2 3 
det(A)==0: A matiz A deve ter determinante
diferente de ZERO, garantindo que a solução seja
possível e determinada, se igual não realizar Agora realizaremos passos para se zerar
operação. elementos obtendo uma matriz triangular superior:

1º passo – Utilizando o algoritmo a2j = a2j – m21a1j


2º passo - Verificação a21
sendo m21 = , teremos:
a11
[y,p]=max(abs(Ab(k:n,k))): Acha o índice da
linha com maior valor
absoluto na coluna para baixo. 2 1 1 2
A1([k p],:)=A1([p k],:); % Realiza a troca de 0 − 7 / 2 1 / 2 − 5
linhas 
2 −1 −2 3 
3º passo – Aplicação do algoritmo

i=k+1:n; 2º passo – Utilizando o algoritmo a3j = a3j – m31a1j


m=A1(i,k)/A1(k,k): Multiplicador a31
sendo m31 = , teremos:
j=k:n+1; a11
A1(i,j)=A1(i,j)-m*A1(k,j): Algoritmo

4º passo - Decomposição da matriz (voltando a 2 1 1 2


ser um sistema mais simples). 0 − 7 / 2 1 / 2 − 5

A=A1(:,1:n); 0 − 2 −3 1 
b=A1(:,n+1);
3º passo – Utilizando o algoritmo a3j = a3j – m31a1j
5º passo - Resolução do sistema
a32
sendo m32 = , teremos:
x(n)= b(n)/A(n,n); a12
s=s+A(k,j)*x(j);
x(k)=(b(k)-s)/A(k,k): Substituição regressiva
2 1 1 2
disp ('O vetor solução e :') 0 − 7 / 2 1 / 2 − 5

0 0 −1 3 

Exemplo resolvido
Com essa matriz fica fácil resolver o
Seja o sistema: sistema, através de substituições regressivas:
2 x1 + x2 + x3 = 2 realizando assim somente operações possíveis e
 determinadas.
− 7 / 2 x2 + 1 / 2 x3 = −5 Quanto ao seu pivoteamento é
− x = 3 progressivo escolhendo linhas de máximo valor
 3 absoluto da coluna desejada para baixo.

Então teremos:
Referências
 x1   2 
x  =  1   SANTOS, Vitoriano Ruas de Barros. Curso
 2   de Cálculo Numérico. Rio de Janeiro: LTC,
 x3   − 3
1977.
 RUGGIERO, Márcia A. Gomes., LOPES,
Conclusão Vera Lúcia da Rocha. Cálculo Numérico:

Foi apresentado neste trabalho o método aspectos teóricos e computacionais. São Paulo:
de eliminação de Gauss, sendo o mesmo Pearson Education do Brasil, 1996.
implementado em Matlab, tornando-se a resolução
de sistemas lineares de resolução mais simples,  DORN, William S.; MCCRACKEN, Daniel
uma vez que, através do método pode-se D. , Cálculo Numérico com estudo de casos em
transformar qualquer matriz em uma matriz
triangular superior se utilizando de estratégias de Fortran IV. Rio de Janeiro: Editora Campus
pivoteamento não tendo assim pivor nulo o que LTDA, Editora da Universidade de São Paulo,
tornaria impossível sua resolução obtendo um
sistema equivalente de resolução imediata, através 1978
de regressões sucessivas.  SOUZA, MJF, Dep. de comp., UFOP,
Vale ainda considerar algumas
considerações importantes: http://www.decom.ufop.br/prof/marcone.
O programa desenvolvido possui uma Acessado em: 08/08/2006
condição de uso (determinante diferente de zero)

Вам также может понравиться