Octave - Sistemas lineares por Jacobi
Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)
[ Hits: 14.418 ]
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
Cálculo da raiz de uma função pelo Método da Bisseção - Octave
Matriz de Hilbert e resolução de sistemas lineares
Octave - Método de Euler-Modificado para solução de EDO
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
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Instalar Dual Boot, Linux+Windows. (6)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









