O mtodo de Gauss Jacobi consiste em um mtodo iterativo no qual se obtm uma soluo aproximada para o sistema de equaes respeitando a tolerncia em questo e o processo comea quando a soluo inicial dada. Exerccio Resolvido
1) Obter a soluo aproximada de { sendo [ ] pelo mtodo de Gauss-Jacobi,
na linha 1,
na linha 2 e
na linha 3):
Utiliza-se essas trs expresses para atualizar os valores das incgnitas em cada iterao. Iterao K=1
| | |
| [
[ ]
Iterao k=2
| | |
| [
[ ]
Iterao k=3
| | |
| [
[ ]
Cdigo em Matlab para resoluo do sistema: k=1; % a soluo inicial designada por k=1 x(1,k)=2; % atribuindo s variveis a soluo inicial x(2,k)=2; x(3,k)=1; e=0.4; %preciso igual a 0,4 teste =0; %a varivel teste utilizada no critrio de %parada while teste==0 k=k+1; %atualizando a iterao x(1,k)=(7-x(2,k-1)-x(3,k-1))/5; %estabelecendo as trs expresses x(2,k)=(2+2*x(1,k-1)+x(3,k-1))/5; x(3,k)=(7+2*x(1,k-1)-x(2,k-1))/8; d1=realmin; %clculo do numerador para verificar %o critrio de parada for i=1:3 if abs(x(i,k)-x(i,k-1))>d1 d1=abs(x(i,k)-x(i,k-1)); end end d2=realmin; %clculo do denominador para verificar %o critrio de parada for i=1:3 if abs(x(i,k))>d2 d2=abs(x(i,k)); end end dr(k)=d1/d2; if dr(k)<e | k>50 %verificando se o critrio de parada %verdadeiro
Em forma de tabela tem-se: Iteraes x1 x2 x3 dr K=0 2 2 1 k=1 0,8 1,4 1,125 0,8571> K=2 0,895 0,945 0,9 0,4815 K=3 1,0310 0,9380 0,9806 0,1319<
Isolando as variveis (isola-se na linha 1, na linha 2 e iterao em questo e no representa uma potncia:
Utiliza-se essas trs expresses para atualizar os valores das incgnitas em cada iterao. Iterao K=1
| | |
| [
[ ]
Iterao k=2
Cdigo em Matlab para resoluo do sistema: k=1; % a soluo inicial designada por k=1 x(1,k)=2; % atribuindo s variveis a soluo inicial x(2,k)=2; x(3,k)=1; e=0.4; %preciso igual a 0,4 teste =0; %a varivel teste utilizada no critrio de %parada while teste==0 k=k+1; %atualizando a iterao x(1,k)=(7-x(2,k-1)-x(3,k-1))/5; %estabelecendo as trs expresses x(2,k)=(2+2*x(1,k)+x(3,k-1))/5; x(3,k)=(7+2*x(1,k)-x(2,k))/8; d1=realmin; %clculo do numerador para verificar %o critrio de parada for i=1:3 if abs(x(i,k)-x(i,k-1))>d1 d1=abs(x(i,k)-x(i,k-1)); end end d2=realmin; %clculo do denominador para verificar %o critrio de parada for i=1:3 if abs(x(i,k))>d2 d2=abs(x(i,k)); end end dr(k)=d1/d2; if dr(k)<e | k>50 %verificando se o critrio de parada %verdadeiro teste=1; end end disp('Resultado') %escrevendo o resultado em forma de %tabela (matriz) R=[x;dr] Resposta obtida ao executar o programa:
Em forma de tabela tem-se: Iteraes x1 x2 x3 dr K=0 2 2 1 k=1 0,8 0,92 0,96 1,25> K=2 1,024 1,0016 1,0058 K=3
Exerccios 1) Obter a soluo utilizando o mtodo de Gauss-Jacobi do sistema de equaes lineares { , sendo [ ]
Iteraes x1 x2 x3 dr
K=0 1 2 2 -
k=1
K=2
K=3
Iteraes x1 x2 x3 dr
K=0 3 3 1 -
k=1
K=2
K=3
Resposta:
x1 x2 x3 dr
1 2 2 -
x1 x2 x3 dr
3 3 1 -