实验目的或要求1、利用复化梯形公式、复化simpson 公式计算积分2、比较计算误差与实际误差实验原理(算法流程图或者含注释的源代码)取 n=2,3,⋯,10 分别利用复化梯形公式、复化simpson 公式计算积分120Ix dx ,并与真值进行比较, 并画出计算误差与实际误差之间的曲线。利用复化梯形公式的程序代码如下:function f=fx(x) f=x.^2; %首先建立被积函数,以便于计算真实值。a=0; %积分下线b=1; %积分上线T=[]; %用来装不同 n 值所计算出的结果for n=2:10; h=(b-a)/n; %步长x=zeros(1,n+1); %给节点定初值for i=1:n+1 x(i)=a+(i-1)*h; %给节点赋值end y=x.^2; %给相应节点处的函数值赋值t=0; for i=1:n t=t+h/2*(y(i)+y(i+1)); %利用复化梯形公式求值end T=[T,t]; %把不同 n 值所计算出的结果装入T 中end R=ones(1,9)*(-(b-a)/12*h.^ 2*2); %积分余项(计算误差)true=quad(@fx,0,1); %积分的真实值A=T-true; %计算的值与真实值之差(实际误差)x=linspace(0,1,9); plot(x,A,'r',x,R,'*') %将计算误差与实际误差用图像画出来注:由于被积函数是x.^2 ,它的二阶倒数为2,所以积分余项为:(-(b-a)/12*h.^ 2*2) 实验原理(算法流程图或者含注释的源代码)利用 复化 simpson 公式的程序代码如下:同样首先建立被积函数的函数文件:function f=fx1(x) f=x.^4; a=0; %积分下线b=1; %积分上线T=[]; %用来装不同 n值所计算出的结果for n=2:10 h=(b-a)/(2*n); %步长x=zeros(1,2*n+1); %给节点定初值for i=1:2*n+1 x(i)=a+(i-1)*h; %给节点赋值end y=x.^4; %给相应节点处的函数值赋值t=0; for i=1:n t=t+h/3*(y(2*i-1)+4*y(2*i)+y(2*i+1)); %利用复化 simpson公式求值end T=[T,t] ; %把不同 n值所计算出的结果装入T中end R=ones(1,9)*(-(b-a)/180*((b-a)/2).^4*24) ; %积分余项(计算误差)true=quad(@fx1,0,1); %积分的真实值A=T-true; %计算的值与真实值之差(实际误差)x=linspace(0,1,9); plot(x,A,'r',x,R,'*') 法二:a=0; b=1; T=[]; for n=2:10 h=(b-a)/(2*n); x=zeros(1,2*n+1); for i=1:2*n+1 x(i)=a+(i-1)*h; end y=x.^4; t=y(1)+y(2*n+1); for i=1:n t=t+4*y(2*i)+2*y(2*i-1); end T=[T,h/3*t]; end true=quad(@fx1,0,1); A=T-true; x=linspace(0,1,9); plot(x,A) 此法与第一种一样,只是所用的表达式不同。注:由...