Método de Interpolação de Lagrange em Scilab

Versão do Scilab : 5.5.2

clc 
clear
//funcao que retorna o polinomio de lagrange
function y=polinomioLagrange(tab);
// calcula o polinomio interpolador pelo metodo de lagrange;
    [l,n]=size(tab);
    x=tab(1,:);
    for i=1:n 
         if i>size(x) then   
        error(" i incompativel com dimensao da tabela");
        end;
        [l,n]=size(x);

        for k=1:i-1
            r(k)=x(k)
        end;
        for k=i:n-1
             r(k)=x(k+1)
        end;
        P=1;
        for k=1:(n-1)
             P=P*(x(i)-r(k))
        end;
        if P==0 then 
            error("tabela tem elementos iguais"); 
        end;
        y=poly(r, "x")/P;
        L(i)= y
    end;
    p=0;
    for i=1:n
        p=p + tab(2,i)*L(i)
    end;
    y=p;
endfunction

//ENTRADA DE DADOS
//primeira linha é o x (pontos do eixo x)
//segunda linha é o y  (pontos do eixo y)
tab = [0.55 0.60 0.65; 1.44 1.42 1.39]

polinomio = polinomioLagrange(tab)
disp(polinomio, "Polinomio:")

//calcula o valor de um ponto no polinomio inicial já derivado
resultado = horner(polinomio,0.62)
disp(resultado, "Resultado de um ponto na derivada:")

Comentários

Postagens mais visitadas deste blog

Método da Interpolação por Eliminação Gaussiana em Scilab

Cálculo do Erro para Interpolação em Scilab