format long e % format short n=2^20; logn=log(n)/log(2) a=0; b=1; dx=(b-a)/n; xx=[a:dx:b]'; yy=exp(-xx.*xx); [xx(1:10),yy(1:10)]; left=sum(yy(1:n-1))/n; rite=sum(yy(2:n))/n; ritesum=yy(n+1); newind=[n/2+1]; midsum=yy(newind); ritesum(2)=(ritesum+midsum)/2 for k = 2:logn newind=(newind+1)/2; newind=[newind,newind+n/2]; midsum(k)=sum(yy(newind))/2^(k-1); ritesum(k+1)=(ritesum(k)+midsum(k))/2; end ritesum=ritesum*(b-a); nn=2.^[0:1:logn]; leftsum=ritesum+(yy(1)-yy(n+1))*(b-a)./nn; trapsum=(ritesum+leftsum)/2; xx=xx(1:n)+dx/2; yy=exp(-xx.*xx); midsum(logn+1)=sum(yy)/n; simps=(trapsum+2*midsum)/3; format short nn' format long g leftsum' ritesum' trapsum' midsum' simps' B=[' num(ints) ',' left sum',' rite sum ',' trapezoid ',' midpoint ', ' simpson '] A=[nn;leftsum;ritesum;trapsum;midsum;simps]'