说明,用下面程序时,必须要先确定m的值. 这两个程序都有误差估计.
设n=2m+1(这是因为,辛普森公式要求的)
梯形公式:
h=π/2/2m=π/4m
;a=0;b=pi/2;x=a:h:b;y=sin(x);
z1=(y(1)+y(n))*h/2; z2=sum(y(2:n-1))*h; z=z1+z2,
syms t
f=sin(t); intf=int(f,t,a,b)(计算精确值), Fs=double(intf),
Juewucha8000=abs(z8000-Fs)(计算误差)
辛普森公式
a=0;b=π/2;; h=(b-a)/(2*m); x=a:h:b;
y=sin(x);
z1=y(1)+y(2*m+1); z2=2*sum(y(2:2:2*m));
z3=4*sum(y(3:2:2*m));
z=(z1+z2+z3)*h/3, syms t,f=exp((-t^2)/2)/(sqrt(2*pi));
intf=int(f,t,a,b), Fs=double(intf); Juewucha=abs(z-Fs).