数值积分1 .求积分dx e x? --112、积分区间中,点与点的间隔为0.1。
解:
(一)用MATBLE写复梯形求积函数:
函数I=t _ quad (x,y ) )。
n=长度(x; m=长度(y;
ifn(=m
错误发生器
结束
h=(x(n )-x(1) )/(n-1 ); a=[12*Ones(1,n-2 )1];
I=h/2*sum(a.*y );
输入:
x=-1:0.1:1; y=exp(-x.^2);
I=t_quad(x,y ) ) )。
执行结果:
I=
1.4924
(二)用MATBL写复杂化Simpson求积函数:
函数I=s _ quad (x,y );
n=长度(x; m=长度(y;
ifn(=m
错误发生器
结束
if rem (n-1,2 )~=0
I=t_quad(x,y );
返回;
结束
n=(n-1 )/2; h=(x(n )-x (1) )/N; a=Zeros(1,n );
for k=1:N
a(a(2*k-1 )=a )2*k-1 ) 1; a(2) k )=a )2) k ) 4;
a(a(2*k 1 )=a )2*k1 ) 1;
结束
I=h/6*sum(a.*y );
输入:
x=-1:0.1:1; y=exp(-x.^2);
I=s_quad(x,y ) )。
执行结果:
I=
1.4936
(三)用MATBL写复杂化Cotes求积函数:
函数I=c _ quad (x,y );
n=长度(x; m=长度(y;