function box syms x; n=100; %initial number of subintervals f=exp(-x^2); %function to be integrated over (0,1) exact=eval(int(f,0,1)); %exact integral fprintf('exact=%.10f \n',eval(int(f,0,1))); for i=1:15 m=n*2^(i-1); %divide each interval into two pieces of subintervals t=0:1/m:1; box=subs(f,t); %evaluate the fucntion at each grid boxsum(i)=sum(box)/m; %sum of the areas of boxes=appoximate integral end error=abs(exact-boxsum); %error for i=1:14 ratio(i)=error(i)/error(i+1); end fprintf('\n approximation \n') fprintf('%.10f \n',boxsum) fprintf('\n error \n') fprintf('%.10f \n',error) fprintf('\n ratio \n') fprintf('%.10f \n',ratio)