利用复化梯形公式、复化simpson-公式计算积分

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验目的或要求1、利用复化梯形公式、复化simpson公式计算积分2、比较计算误差与实际误差实验原理(算法流程图或者含注释的源代码)取n=2,3,…,10分别利用复化梯形公式、复化simpson公式计算积分120Ixdx,并与真值进行比较,并画出计算误差与实际误差之间的曲线。利用复化梯形公式的程序代码如下:functionf=fx(x)f=x.^2;%首先建立被积函数,以便于计算真实值。a=0;%积分下线b=1;%积分上线T=[];%用来装不同n值所计算出的结果forn=2:10;h=(b-a)/n;%步长x=zeros(1,n+1);%给节点定初值fori=1:n+1x(i)=a+(i-1)*h;%给节点赋值endy=x.^2;%给相应节点处的函数值赋值t=0;fori=1:nt=t+h/2*(y(i)+y(i+1));%利用复化梯形公式求值endT=[T,t];%把不同n值所计算出的结果装入T中endR=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)2实验原理(算法流程图或者含注释的源代码)利用复化simpson公式的程序代码如下:同样首先建立被积函数的函数文件:functionf=fx1(x)f=x.^4;a=0;%积分下线b=1;%积分上线T=[];%用来装不同n值所计算出的结果forn=2:10h=(b-a)/(2*n);%步长x=zeros(1,2*n+1);%给节点定初值fori=1:2*n+1x(i)=a+(i-1)*h;%给节点赋值endy=x.^4;%给相应节点处的函数值赋值t=0;fori=1:nt=t+h/3*(y(2*i-1)+4*y(2*i)+y(2*i+1));%利用复化simpson公式求值endT=[T,t];%把不同n值所计算出的结果装入T中endR=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,'*')3法二:a=0;b=1;T=[];forn=2:10h=(b-a)/(2*n);x=zeros(1,2*n+1);fori=1:2*n+1x(i)=a+(i-1)*h;endy=x.^4;t=y(1)+y(2*n+1);fori=1:nt=t+4*y(2*i)+2*y(2*i-1);endT=[T,h/3*t];endtrue=quad(@fx1,0,1);A=T-true;x=linspace(0,1,9);plot(x,A)此法与第一种一样,只是所用的表达式不同。注:由于被积函数是x.^4,它的四阶倒数是24,所以它的积分余项是:(-(b-a)/180*((b-a)/2).^4*24)4实验结果分析及心得体会上图是利用复化梯形公式所画出的误差。其中:红线是计算误差,‘*’号是实际误差。-0.0017是计算误差。0.0417、0.0185、0.0104、0.00670.0046、0.0034、0.0026、0.0021、0.0017是n值分别为2到10的实际误差。上图是利用复化simpson公式所画出的误差。其中:红线是计算误差,‘*’号是实际误差。注:纵轴是0.0001。0.5208、0.1029、0.0326、0.0133、0.0064、0.0035、0.0020、0.0013、0.0008是n值分别为2到10的实际误差,-0.0083是计算误差。成绩评定教师签名:年月日

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功