Buscar

O método de Gauss Seidel

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MÉTODO DE GAUSS - SEIDEL
O método de Gauss-Seidel é uma modificação do método interativo de Gauss-Jacobi, nesse método o sistema linear pode ser escrito na forma equivalente a por separação da diagonal. A ideia é a de que no cálculo da (k+1)-ésima aproximação pelo processo iterativo quer calcular , por:
Neste método, para calcular , usa-se os valores antigos , i < j, que já foram calculados.
O processo iterativo é repetido várias vezes até que o vetor esteja muito próximo do vetor . Considerando a norma de vetores, e dada uma precisão, o vetor será escolhido como uma solução aproximada da solução exata se:
 (erro relativo), ou (erro absoluto).
Esses são os critérios de parada mais utilizados.
Exemplo:
Resolva o sistema linear abaixo pelo método de Gauss-Seidel com e 
Solução:
O processo iterativo é:
Como .
(k=0):
Fazendo o teste de parada com o erro absoluto, obtemos:
Como o valor máximo da diferença entre os pontos ainda é maior que o erro, as iterações deveram ser feitas até que valor seja menor que o erro.
Algoritmo de Gauss – Seidel
Clc
Clear all 
% Receba a ordem do sistema
ord = input('Ordem da matriz: ');
% Receba a matriz dos coeficientes
A = input('matriz dos coeficientes: ');
% Receba o vetor x inicial
X = input('Entre com o vetor X inicial: ');
% Receba o vetor dos termos independentes de b
B = input('Entre com o vetor B: ');
% Receba o erro pré-estabelecido
tol = input('Entre com a tolerância: ');
% Defina o numero máximo de iterações
max = input('Entre com o número máximo de iterações: ');
k = 1;
for i = 1:ord 
 for j = 1:ord 
 if i == j 
 % matriz que armazena os termos que multiplicam por xi
 D(i,j) = 0;
 % matriz que armazena os termos que somam com D(i,j)
 I(i,1) = B(i,1)/A(i,i); 
 else
 D(i,j) =-A(i,j)/A(i,i); 
 end
 end
end
while (k < max) 
 X1 = X; 
 for i = 1:ord 
 X1(i,1) = D(i,:)*X1 + I(i,1); 
 %(Obs. A expressão D(i,:)*X1 realiza uma multiplicação entre dois vetores (uma linha da matriz e o vetor X))
 end
 for i = 1:ord 
 ERX(i,1)= abs((X1(i,1)-X(i,1))/X1(i,1))*100;
 mtol(i,1)=tol; 
 end
 if ERX < mtol 
 fprintf('%1.5f\n',X1);
 break 
 end
 X = X1; 
 k = k+1;
end
Referência Bibliográfica:
AMARAL, H. M. C. Análise e Métodos Numéricos em Engenharia. 1 ed. São Luís: Editora UEMA, 2008.

Outros materiais