No BSD License
%function interne function intr = simpsau0( f, range, oldstep, epsi) a = range(1); b = range(2); mil = (b+a).*0.5; h = (mil-a)./6.0; fmil = feval(f, mil); s1 = (feval(f,a) + 4.0.*feval(f,(a+mil).*0.5) + fmil).*h; s2 = (fmil + 4.0.*feval(f,(mil+b).*0.5) + feval(f,b)).*h; err = abs(s1+s2-oldstep); if err>=15.0.*epsi.*(b-a) range = [a, mil]; s1 = simpsau0(f, range, s1, epsi); range = [mil, b]; s2 = simpsau0(f, range, s2, epsi); end; intr = s1 + s2;
Contact us at files@mathworks.com