Octave - Sistemas lineares por Gauss-Seidel
Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)
[ Hits: 23.650 ]
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
Script em Bath "DOS" para Upload e Download de arquivos usando o SSH
Cálculo da raiz de uma função pelo Método da Bisseção - Octave
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
Direcionar uma URL para Outra No Mikrotik (0)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (1)