Using Trap_td

Contents

simple output

code

% function int = trap_td(f,a,b,n)

% % trapezoidal rule

% h = (b-a)/n;

%  x=a:h:b;
%  int = 0;
%  for j=2:n
%   int = int + f(x(j));
%  end
% int = 2*int;
% int=int +f(a)+f(b);
% int=0.5*h*int;
% end


f = @(x) x^(1/2);
a = 0; b=1;
exact =2/3;
for k=1:5
  n=10^k;
  int = trap_td(f,a,b,n)
  error(k) = abs(exact-int);
end
semilogy(1:5,error,'-o')
title('error with trapezoidal rule with n points')
xlabel('k where n = 10^k')
ylabel('error')
int =

   0.660509341706817


int =

   0.666462947103148


int =

   0.666660134393682


int =

   0.666666459197107


int =

   0.666666660096895