Octave - Sistemas lineares por Gauss-Seidel
Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)
[ Hits: 23.649 ]
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 - Método de Runge-Kutta
Octave - Sistemas lineares por Jacobi
Octave - Calcular raiz pelo método de Newton
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Realizar overclock no Miyoo Mini (plus ou normal)
Otimização de memória para máquinas modestas
Unbuntu não atualiza o firmware (1)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (0)
Dúvidas sobre a originalidade de conteúdos online (10)
Erro de interface de Rede no Virt Manager dentro Debian 13 KDE (12)