数值积分论文Word下载.docx
- 文档编号:15157686
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:26
- 大小:220.88KB
数值积分论文Word下载.docx
《数值积分论文Word下载.docx》由会员分享,可在线阅读,更多相关《数值积分论文Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
此外,即使被积函数存在原函数,但因找原函数很复杂,人们也不愿花费太多的时间在求原函数上,这些都促使人们寻找定积分近似计算方法的研究,特别是有了计算机后,人们希望这种定积分近似计算方法能在计算机上实现,并保证计算结果的精度,具有这种特性的定积分近似计算方法称为数值积分。
由定积分知识,定积分只与被积函数和积分区间有关,而在对被积函数做插值逼近时,多项式的次数越高,对被积函数的光滑程度要求也越高,且会出现Runge现象。
如时,Newton-Cotes公式就是不稳定的。
因而,人们把目标转向积分区间,类似分段插值,把积分区间分割成若干小区间,在每个小区间上使用次数较低的Newton-Cotes公式,然后把每个小区间上的结果加起来作为函数在整个区间上积分的近似,这就是复化的基本思想。
本文主要研究的公式有:
复化梯形公式﹑复化Simpson公式﹑复化Cotes公式﹑Romberg积分法。
1.2问题重述
本文主要介绍微积分方程的复化解法。
通过运用复化梯形公式、复化Simpose公式、复化cotes公式和Romberg积分法这四种积分法方法,解出微分方程的近似解。
并进行误差分析和结果比较。
当积分区间[a,b]的长度较大,而节点个数n+1固定时,直接使用Newton-Cotes公式的余项将会较大,而如果增加节点个数,即n+1增加时,公式的舍入误差又很难得到控制,为提高公式的精度,又使算法简单易行,往往使用复化方法。
即将积分区间[a,b]分成若干个子区间,然后在每个小区间上使用低阶Newton-Cotes公式,最后将每个小区间上的积分的近似值相加。
将定积分的积分区间[ab]分割为n等份
各节点为,k=0,1,…n在子区间(k=0,1,1…..n-1)上使用NewtonCotes公式将子区间分割为l等份,
节点为
记为
在子区间上作f(x)的l阶Newton-Cotes求积公式
由积分的区间可加性,可得
复化求积公式
第二章复化梯形公式
2.1复化梯形公式的算法描述
当L=1时可得复化梯形公式:
=
复化梯形公式=
2.2复化梯形公式在C语言中的实现
复化梯形公式运用的程序如下:
T0=(a-b)*(f_x(a)+f_x(b))/2;
//n=1时的cotes公式即梯形公式
for(i=1;
i<
=100;
i++)
{
//计算sum_num、xishu、s_point(startpoint)、d_point
sum_num=pow(2,i-1);
xishu=double(a-b)/sum_num;
s_point=double(b)+double(a-b)/pow(2,i);
d_point=double(a-b)/pow(2,i-1);
for(j=1;
j<
=sum_num;
j++)
{
add_T=add_T+f_x(s_point+(j-1)*d_point);
}
add_T=add_T*xishu;
T1=(T0+add_T)/2;
err_T=(T1-T0)/3;
//output
printf("
%d%d%10.8f%10.8f"
i,pow(2,i),T1,err_T);
\n"
);
if(err_T<
=0)
err_T=(-1)*err_T;
=E)
break;
else
T0=T1;
T1=0;
add_T=0;
err_T=0;
}
}
在这个函数中我们将复化梯形公式和积分过程都用计算机语言表示出来。
首先我们给出复化梯形公式,进行迭代,直到精确度达到设定要求,算出最后结果。
2.3测试结果
用复化梯形有效数字四位求得的结果如下:
用复化梯形有效数字七位求得的结果如下:
由以上结果可以看出取两个不同的精度相对误差比较小,但计算次数大大的增加,复化梯形公式计算次数多。
第三章复化simpson公式
3.1复化simpson公式的算法描述
当L=2时可得复化梯形公式:
复化simpson公式=
3.2复化simpson公式在C语言中的实现
T0=(a-b)*(f_x(a)+4*f_x((a+b)/2)+f_x(b))/6;
//n=2的cotes公式即simpson公式
for(i=1;
//longpowl(longdoublex,longdoubley)
//thesameasT
xishu=double(a-b)/sum_num/6;
sd_point=double(a-b)/sum_num/4;
add_T=add_T+2*f_x(s_point+(j-1)*d_point)-4*f_x(s_point-sd_point+(j-1)*d_point)-4*f_x(s_point+sd_point+(j-1)*d_point);
T1=(T0-add_T)/2;
err_T=(T1-T0)/15;
//output
在这个函数中我们将复化simpose公式和积分过程都用计算机语言表示出来。
首先我们给出复化simpose公式,进行迭代,直到精确度达到设定要求,算出最后结果。
3.3测试结果
用复化simpose迭代取有效数字四位求得的结果如下:
用复化simpose迭代取有效数字七位求得的结果如下:
由以上结果可以看出两次不同精度要求的计算可以看出不同精度计算计算次数相差较多。
精度为四和七间计算次数相差了三次。
第四章复化cotes公式
4.1复化cotes公式的算法描述
当L=4时可得复化梯形公式:
复化cotes公式=
4.2复化cotes公式在C语言中的实现
复化cotes公式运用的程序如下:
T0=(a-b)*(7*f_x
(1)+32*f_x
(2)+12*f_x(3)+32*f_x(4)+7*f_x(5))/90;
//四阶(n=4)cotes公式。
xishu=double(a-b)/sum_num/90;
sd_point=double(a-b)/sum_num/8;
add_T=add_T-2*f_x(s_point+(j-1)*d_point)-32*f_x(s_point-sd_point+(j-1)*d_point)+20*f_x(s_point-2*sd_point+(j-1)*d_point)-32*f_x(s_point-3*sd_point+(j-1)*d_point)-32*f_x(s_point+sd_point+(j-1)*d_point)+20*f_x(s_point+2*sd_point+(j-1)*d_point)-32*f_x(s_point+3*sd_point+(j-1)*d_point);
err_T=(T1-T0)/63;
else
在这个函数中我们将复化cotes公式和积分过程都用计算机语言表示出来。
首先我们给出复化cotes公式,进行迭代,直到精确度达到设定要求,算出最后结果。
4.3测试结果
用复化cotes有效数字四位求得的结果如下:
用复化cotes有效数字七位求得的结果如下:
由以上结果可以两次不同精度计算的结果相差相对前面的方法要大,计算次数增加了三次。
第五章Romberg积分法
5.1Romberg积分法的算法描述
Romberg方法也称为逐次分半加速法。
它是在梯形公式、辛卜生公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。
作为一种外推算法,它在不增加计算量的前提下提高了误差的精度。
在等距基点的情况下,用计算机计算积分值通常都采用把区间逐次分半的方法进行。
这样,前一次分割得到的函数值在分半以后仍可被利用,且易于编程。
对区间[a,b],令h=b-a构造梯形值序列{T2K}。
T1=h[f(a)+f(b)]/2
把区间二等分,每个小区间长度为h/2=(b-a)/2,于是
T2=T1/2+[h/22]f(a+h/2)
把区间四(22)等分,每个小区间长度为h/22=(b-a)/4,于是
T4=T2/2+[h/2][f(a+h/4)+f(a+3h/4).....................
把[a,b]
2k等分,分点xi=a+(b-a)/2k·
i(i=0,1,2·
·
2k)每个小区间长度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 积分 论文