欢迎来到天天文库
浏览记录
ID:51845295
大小:140.25 KB
页数:7页
时间:2020-03-16
《数值分析复化梯形公式和复化三点Gauss公式.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数值分析第六次程序作业PB09001057孙琪【问题】利用复化梯形积分公式和复化3点Gauss积分公式计算积分的通用程序计算下列积分;I1f=01e-x2dx,I2f=0411+x2dx,I3f=02π12+cos(x)dx,取节点xi,i=0,…,N,N为2k,k=0,1,…,7,给出误差表格并简单分析你得到的数据。【复化梯形积分公式】梯形法则:对两个节点相应的积分法则称为梯形法则:abfxdx≈b-a2[fa+fb]如果划分区间[a,b]为:a=x02、≈12i=1nxi-xi-1[fxi-1+fxi]对等间距h=(b-a)/n及节点xi=a+ih,复合梯形法则具有形式:abfxdx≈h2[fa+2i=1n-1fa+ih+fb]误差项为:-112b-ah2f''(δ)【复化3点Gauss积分公式】对给定的正的权函数w,高斯求积法则的一般形式是:abfxwxdx≈i=0nAif(xi)对f∈n次多项式精确成立,Ai=abw(x)j=0j≠inx-xjxi-xjdx。复化3点Gauss积分公式中:首先通过坐标变换将[xi,xi+1]变为[-1,1],然后通过三点高斯积分公式:-11fxdx≈59f-35+89f0+59f35计算即可。最后将所有3、的区间加起来就得到我们要的结果。【算法分析】复合梯形法则和复化3点Gauss积分法则的算法上述描述中都已介绍了,在此不多做叙述。【实验】通过Mathematica编写程序得到如下结果:利用复化梯形积分公式得:1.I1f=01e-x2dx2.I2f=0411+x2dx3.I3f=02π12+cos(x)dx从上面的结果我么可以发现:对第一个积分有:当n逐渐增加时,errorNerror2N≈4;对第二个积分有:当n逐渐增加时,errorNerror2N≈4;对第三个积分有:当n逐渐增加时,errorNerror2N≈1;【分析】前两个积分的现象不难解释:当n比较小的时候,f的两阶导数相差比较4、大,因此errorNerror2N的结果不仅仅为4(因为1n212n2=4),同时也会因为f的两阶导数之比不为1造成一定的影响,而当n较大的时候,f的两阶导数相差就不是很大了,所以误差之比基本为4.第三个积分的现象比较复杂,并非所看到的最后误差值比趋于1,我认为是计算机所能计算的精度不够,导致最终所给出的误差不精确,看起来趋于1.但没有出现上面趋于4的现象,应该是f的两阶导数变化较大,可以趋向于0导致结果的不趋于4的现象。利用复化3点Gauss积分公式得:1.I1f=01e-x2dx2.I2f=0411+x2dx3.I3f=02π12+cos(x)dx【分析】从上面的结果我们可以看出err5、orNerror2N并没有规律,有的地方甚至都是趋向于无穷大的数,这是因为我们采用了复化的3点高斯积分公式,对次数不超过5次的多项式是精确成立的,而对普通的函数并非精确成立,而且误差项也是没有规律的,各自有各自的误差。但从上面出现了误差比趋向于正无穷的现象可以看出在某些步的收敛还是很快的,但这里保留这个看法,因为我不知道Mathematica在计算结果时时用的怎样的算法,不肯定它是对的。【心得体会】我觉得我做的还是有问题的,虽然程序都是按照公式写的,可能在分析中还有待改进吧,周末有空再改改吧。【Mathematica程序】复化梯形法则:复化3点高斯积分法则:
2、≈12i=1nxi-xi-1[fxi-1+fxi]对等间距h=(b-a)/n及节点xi=a+ih,复合梯形法则具有形式:abfxdx≈h2[fa+2i=1n-1fa+ih+fb]误差项为:-112b-ah2f''(δ)【复化3点Gauss积分公式】对给定的正的权函数w,高斯求积法则的一般形式是:abfxwxdx≈i=0nAif(xi)对f∈n次多项式精确成立,Ai=abw(x)j=0j≠inx-xjxi-xjdx。复化3点Gauss积分公式中:首先通过坐标变换将[xi,xi+1]变为[-1,1],然后通过三点高斯积分公式:-11fxdx≈59f-35+89f0+59f35计算即可。最后将所有
3、的区间加起来就得到我们要的结果。【算法分析】复合梯形法则和复化3点Gauss积分法则的算法上述描述中都已介绍了,在此不多做叙述。【实验】通过Mathematica编写程序得到如下结果:利用复化梯形积分公式得:1.I1f=01e-x2dx2.I2f=0411+x2dx3.I3f=02π12+cos(x)dx从上面的结果我么可以发现:对第一个积分有:当n逐渐增加时,errorNerror2N≈4;对第二个积分有:当n逐渐增加时,errorNerror2N≈4;对第三个积分有:当n逐渐增加时,errorNerror2N≈1;【分析】前两个积分的现象不难解释:当n比较小的时候,f的两阶导数相差比较
4、大,因此errorNerror2N的结果不仅仅为4(因为1n212n2=4),同时也会因为f的两阶导数之比不为1造成一定的影响,而当n较大的时候,f的两阶导数相差就不是很大了,所以误差之比基本为4.第三个积分的现象比较复杂,并非所看到的最后误差值比趋于1,我认为是计算机所能计算的精度不够,导致最终所给出的误差不精确,看起来趋于1.但没有出现上面趋于4的现象,应该是f的两阶导数变化较大,可以趋向于0导致结果的不趋于4的现象。利用复化3点Gauss积分公式得:1.I1f=01e-x2dx2.I2f=0411+x2dx3.I3f=02π12+cos(x)dx【分析】从上面的结果我们可以看出err
5、orNerror2N并没有规律,有的地方甚至都是趋向于无穷大的数,这是因为我们采用了复化的3点高斯积分公式,对次数不超过5次的多项式是精确成立的,而对普通的函数并非精确成立,而且误差项也是没有规律的,各自有各自的误差。但从上面出现了误差比趋向于正无穷的现象可以看出在某些步的收敛还是很快的,但这里保留这个看法,因为我不知道Mathematica在计算结果时时用的怎样的算法,不肯定它是对的。【心得体会】我觉得我做的还是有问题的,虽然程序都是按照公式写的,可能在分析中还有待改进吧,周末有空再改改吧。【Mathematica程序】复化梯形法则:复化3点高斯积分法则:
此文档下载收益归作者所有