Octave - Sistemas lineares por Gauss-Seidel
Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)
[ Hits: 24.037 ]
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
Octave - Calcular raiz pelo método Regula-Falsi
Octave - Calcular raiz pelo método da Secante
Octave - Método de Gauss-Legendre
Octave - Método de Euler-Melhorado para solução de EDO
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Instalando o Tema de Ícones Tela Circle
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Senhor Einstein tinha razão mesmo! [RESOLVIDO] (9)
Como instalar Warsaw no Gentoo? (1)
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (4)









