function [retval] = q6 (input1, input2) f = @(x) exp(-x); %% According to the Boole's Rule: %% Use just 5 data points to evaluate it. h = 1/4; s = 7*f(0)+32*f(1/4)+12*f(1/2)+32*f(3/4)+7*f(1); s = s*h*2/45; % disp(s); %% Use all the 65 data points to evaluate it. h = 1/64; ss = 7*(f(0)+f(1)); for i = 1:2:63 ss = ss + 32*f(i*h); end for i = 2:4:62 ss = ss + 12*f(i*h); end for i = 4:4:60 ss = ss + 14*f(i*h); end ss = ss*2*h/45; fprintf(' real value = -exp(-1)+1 = %.16f\n', -exp(-1)+1 ); fprintf(' numerical answer = %.16f\n', ss ); endfunction