Buscar

Gauss Seidel

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

//programa para aplicação do método de Gauss seidel a um sistema linear de ordem 3: AX=B
//Definindo matriz A dos coeficientes do sistema. Aqui a(i,j) denota o elemento da i-ésima linha e j-ésima coluna da matriz A
a(1,1)=3;
a(1,2)=1;
a(1,3)=1;
a(2,1)=1;
a(2,2)=3;
a(2,3)=1;
a(3,1)=1;
a(3,2)=1;
a(3,3)=3;
// Definindo a matriz-coluna B de termos independentes do sistema. Aqui b(j) denota o elemento da j-ésima linha de B.
b(1)=1;
b(2)=2;
b(3)=3;
i=1 // índice para auxiliar nas iterações 
dk=1; // dk está relacionado ao erro cometido na aproximação
// No que segue x(i,j) representará o valor aproximado de xi na ()j-1)-ésima iteração. Assim, os valores de x(1, 1), x(2, 1) e x(3, 1) representam a aproximação inicial
x(1,1)=0
x(2,1)=0
x(3,1)=0
// Calculando iterações do método
while dk >0.001
 x(1,i+1)=(b(1)-a(1,2)*x(2,i)-a(1,3)*x(3,i))/a(1,1);
 x(2,i+1)=(b(2)-a(2,1)*x(1,i+1)-a(2,3)*x(3,i))/a(2,2);
 x(3,i+1)=(b(3)-a(3,1)*x(1,i+1)-a(3,2)*x(2,i+1))/a(3,3);
 d(1)=abs(x(1,i+1)-x(1,i));
 d(2)=abs(x(2,i+1)-x(2,i));
 d(3)=abs(x(3,i+1)-x(3,i));
 dk=max(d);
 i=i+1;
end
disp('número de iterações'), disp(i);
disp('Solução aproximada')
disp(x(:,i))
disp('dk='); disp(dk);

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais