function s=simpson_exat_crescente(a,b,J,func)
// s=simpson_exat_crescente(a,b,J,f)
// Calcula a integral definida de f(x)dx com limites de
// integração "a" e "b" usando a regra de Simpson com exatidão crescente.
// 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);
T0 = trapezio(a,b,func);
for i=1:J
n = 2^i;
h = (b-a)/n;
s1 = 0;
for k=1:n/2
s1 = s1+f(a+h*(2*k-1));
end
T1 = T0/2+h*s1;
s = (4*T1-T0)/3;
T0 = T1;
end
endfunction
Nenhum comentário:
Postar um comentário