Employs Milne's rule to integrate f between a and b Input arguments: f, function handle a,b, integration bounds, a<b Output arguments: Q, value of integral
0001 function [ Q ] = milnes_rule( f,a,b ) 0002 % Employs Milne's rule to integrate f between a and b 0003 % Input arguments: 0004 % f, function handle 0005 % a,b, integration bounds, a<b 0006 % Output arguments: 0007 % Q, value of integral 0008 0009 % first check user inputs 0010 if isa(f,'function_handle')==0; 0011 error('input must be a function handle'); 0012 elseif a>=b; 0013 error('invalid interval'); 0014 end 0015 0016 f1=feval(f,(3*a+b)/4); % evaluate f at (3a+b)/4 0017 f2=feval(f,(a+b)/2); % evaluate f at (a+b)/2 0018 f3=feval(f,(a+3*b)/4); % evaluate f at (a+3b)/4 0019 0020 Q=(b-a)*(2*f1-f2+2*f3)/3; % evalaute Q according to Milne's rule 0021 0022 end 0023