Função para Cálculo pelo Método Jacobi para Gretl - Blog do Estudante de Atuariais

segunda-feira, 8 de abril de 2019

Função para Cálculo pelo Método Jacobi para Gretl


function [x,norma_r,k]=jacobi(A,b,x,tol,k_max)
    // [sol,norma_r,k]=jacobi(A,b,x,tol,k_max)
    // Calcula a solução para o sistema Ax=b usando o método de Jacobi.
    // A solução é aceita sujeita a um resíduo menor do que "tol" desde que
    // não exceda a "k_max" iterações.
    // (C) Rudnei Dias da Cunha 2008
    mode(0)
    [n,m]=size(A);
    D=diag(diag(A));
    Q=inv(D);
    for k=1:k_max
        // r=b-A*x
        r = b-A*x;
        norma_r=norm(r,'fro');
        mprintf('k=%g norma_r=%g\n',k,norma_r);
        if (norma_r<tol) break; end;
        // x=x-Q*A*x+Q*b
        x = x+Q*r;
    end
endfunction

Nenhum comentário:

Postar um comentário