分别用复化梯形公式、复化Simpson公式计算定积分分别验证结果(精确值I=4.006994)。
复化梯形公式求定积分:
function I=tquad(x,y)
%复化梯形求积公式,其中,
%x为向量,被积函数自变量的等距结点; %y为向量,被积函数在结点处的函数值; n=length(x);
m=length(y);
%积分自变量的结点数应与它的函数值的个数相同 h=(x(n)-x(1))/(n-1);
a=[1 2*ones(1,n-2) 1];
I=h/2*sum(a.*y);
复化Simpson公式求定积分:
function I=squad(x,y)
%复化Simpson求积公式,其中,
%x为向量,被积函数自变量的等距结点; %y为向量,被积函数在结点处的函数值; n=length(x);
m=length(y);
%积分自变量的结点数应与它的函数值的个数相同 if rem(n-1,2)~=0
I=tquad(x,y);
return;
end
N=(n-1)/2;
h=(x(n)-x(1))/N;
a=zeros(1,n);
for k=1:N
a(2*k-1)=a(2*k-1)+1;
a(2*k)=a(2*k)+4;
a(2*k+1)=a(2*k+1)+1;
end
I=h/6*sum(a.*y);
20 exdx,取n=2,4,8,16
如果觉得《matlab复化梯形公式误差 数值分析复化梯形公式 复化Simpson公式MATLAB程序》对你有帮助,请点赞、收藏,并留下你的观点哦!