Octave - Sistemas lineares por Jacobi
Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)
[ Hits: 14.420 ]
Homepage: http://www.danielmoreira.wordpress.com
O método de Jacobi trata-se dum algoritmo para determinar a solução de um sistema de equações lineares com os maiores valores absolutos em cada linha e coluna dominados pelo elemento da sua diagonal. Trata-se duma versão simplificada do algoritmo de valores próprios de Jacobi.
function [x,Iter,CondErro] = Jacobi(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)=b(i)-Soma;
end
NormaNum =0;
NormaDen=0;
for i=1:n
t=abs(v(i)-x(i));
if t>NormaNum
NormaNum =t;
end
if abs(v(i))>NormaDen
NormaDen = abs(v(i));
end
x(i)=v(i);
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 da Secante
Octave - Método de Euler-Melhorado para solução de EDO
Octave - Calcular raiz pelo método de Newton
Octave - Calcular raiz pelo método Regula-Falsi
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica









