Matlab numerical analysis, numerical integration and numerical differentiation
1 Compound trapezoidal formula
function I=ftrapz(f,a,b,n)
format long %显示15位双精度
h=(b-a)/n;
x=linspace(a,b,n+1);
y=feval(f,x);
I=h*(0.5*y(1)+sum(y(2:n))+0.5*y(n+1));
Function file
function y=fun1(x)
y=exp(-x);
Calling program
t=ftrapz(@fun1,0,1,10)
2 Compound Simpson formula
function I=fsimpson(fun,a,b,n)
h=(b-a)/n;
x=linspace(a,b,2*n+1);
y=feval(fun,x);
I=(h/6)*(y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(2*n+1));
Function file
function y=fun1(x)
y=exp(-x);
Calling program
s=fsimpson(@fun1,0,1,10)