Octave - Sistemas lineares por Gauss-Seidel
Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)
[ Hits: 23.818 ]
Homepage: http://www.danielmoreira.wordpress.com
Resolver o sistema Ax=b pelo método iterativo de Gauss-Seidel.
O método de Gauss-Seidel é um método iterativo para resolução de sistemas de equações lineares. O seu nome é uma homenagem aos matemáticos alemães Carl Friedrich Gauss e Philipp Ludwig von Seidel. É semelhante ao método de Jacobi (e como tal, obedece ao mesmo critério de convergência). É condição suficiente de convergência que a matriz seja estritamente diagonal dominante, i. e., fica garantida a convergência da sucessão de valores gerados para a solução exata do sistema linear.
function [x,Iter,CondErro] = Gauss_Seidel(n,A,b,Toler,IterMax)
%n,A,b,Toler,IterMax = ordem, matriz, vetor independente, tolerancia,
%numero maximo de iteracoes
%x,Iter,CondErro = vetor solucao, numero de iteracoes e condicao de erro
for i=1:n
r=1/A(i,i);
for j=1:n
if i~=j
A(i,j)=A(i,j)*r;
end
end
b(i)=b(i)*r;
x(i)=b(i);
end
Iter=0;
fprintf('\nIter = %d ' ,Iter);
x
while 1
Iter = Iter+1;
for i=1:n
Soma = 0;
for j=1:n
if i~=j
Soma = Soma+A(i,j)*x(j);
end
end
v(i)=x(i);
x(i)=b(i)-Soma;
end
NormaNum=0;
NormaDen=0;
for i=1:n
t=abs(x(i)-v(i));
if t>NormaNum
NormaNum =t;
end
if abs(x(i))>NormaDen
NormaDen = abs(x(i));
end
end
NormaRel=NormaNum/NormaDen;
fprintf('\nIter = %d ' ,Iter);
x
fprintf('NormaRel = %f \n',NormaRel);
if NormaRel<=Toler | Iter>IterMax
break
end
end
if NormaRel<=Toler
CondErro =0;
else
CondErro =1;
end
Cálculo da raiz de uma função pelo Método da Bisseção - Octave
Octave - Método de Gauss-Legendre
Função Fatorial Recursiva em Fortran 95
Crivo de Eratóstenes Simples em Fortran 95
Octave - Sistemas lineares por Jacobi
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (4)
Thinkpads são bons mesmo ?! (4)
existe algum hub de jogos online similiar ou igual dos browser (6)
Como botar o efeito de deslocar janelas (win + setas - windows) no lin... (0)









