a = 0; b = 1; tol = 1.0E-05; %desired tolerance % function to integrate and its antiderivative f = @(x) sqrt(x); F = @(x) 2/3*x^(3/2); %f = @(x) 1./sqrt(x); %F = @(x) 2*sqrt(x); %f = @(x) sin(exp(6*(x-0.5))); I_exact = F(b)-F(a); fprintf('Exact integral = %15.10e\n', I_exact); %% Plot the function Xf = linspace(a,b,500); figure(1); clf; fs = 24; %font size plot(Xf,f(Xf),'-',... 'LineWidth',3,'MarkerSize',10); xlabel('x','FontSize',fs); ylabel('f(x)','FontSize',fs); grid on; [I,m]=uniform_refinement(f,F,a,b); %[I,m]=adaptive_fake(f,F,a,b,tol); %[I,m]=adaptive_real(f,a,b,tol); fprintf('Integral ~ %15.10e, error = %e, #elements = %d\n', I,abs(I-I_exact),m); % Implementation from the book %[I]=adapquad(f,a,b,tol); %fprintf('Integral ~ %15.10e, error = %e\n', I,abs(I-I_exact));