Função para Quadratura Gaussiana para Gretl - Blog do Estudante de Atuariais

terça-feira, 30 de abril de 2019

Função para Quadratura Gaussiana para Gretl


function s=quadratura_gaussiana(a,b,x,w,func)
    // quadratura_gaussiana(a,b,x,w,f)
    // Calcula a integral definida de f(x)dx com limites de 
    // integração "a" e "b" usando a quadratura de Gauss, 
    // com nodos "x" e pesos "w" calculados pela rotina 
    // gauss_legendre.
    // A função "f" deve ser passada como uma "string" contendo a função, 
    // escrita de acordo com as regras do Scilab; por exemplo, para a
    // função f(x)=e^x-2, escreva 'exp(x)-2'.    
    // (C) Rudnei Dias da Cunha 2008
    deff('[v]=f(x)','v='+func);
    n = max(size(x));
    xm = (b+a)/2;
    xr = (b-a)/2;
    s = 0;
    for i=1:n
        s = s+w(i)*f(xr*x(i)+xm);
    end
    s = xr*s;
endfunction

Nenhum comentário:

Postar um comentário