Octave - Sistemas lineares por Jacobi

Publicado por Daniel Moreira dos Santos (última atualização em 14/07/2010)

[ Hits: 13.844 ]

Homepage: http://www.danielmoreira.wordpress.com

Download Jacobi.m




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.

  



Esconder código-fonte

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


Scripts recomendados

Algorítimo de maior e menor

Crivo de Eratóstenes Simples em Fortran 95

Octave - Método de Gauss-Legendre

Octave - Método de Euler para solução de EDO

Script em Bath "DOS" para Upload e Download de arquivos usando o SSH


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts