文档详情

多种数值积分地分析报告比较Gauss抛物线龙贝格

鲁**
实名认证
店铺
DOC
160KB
约14页
文档ID:531528812
多种数值积分地分析报告比较Gauss抛物线龙贝格_第1页
1/14

word多种数值积分求积公式的分析比拟吴春晖〔中国海洋大学海洋环境学院 某某 某某 266100〕摘要:对于运用牛顿-莱布尼茨积分公式不能较好解决的定义在区间[a,b]上的可积函数,原函数并不能简单地用初等函数来表达,故需要构造定积分的近似计算公式在本文中,主要构建了抛物线求积公式与其复化抛物线公式在对抛物线类的求积公式进展应用检验后,再运用Gauss求积公式,构建Gauss-Laguerre求积公式,对一样的问题进展运用,并比拟截断误差之后再对求积过程进展优化,在限定误差X围的情况下,利用龙贝格算法,对求积加速收敛关键词: 抛物线求积 复化求积 Gauss-Laguerre 加速收敛引言:对于一些较为复杂的函数,在一定的误差要求下,需要通过构造的方式求给定函数的定积分根本的替代法主要有梯形面积与抛物线近似代替曲边梯形并通过划分更小的区间,减少截断误差从而提出了复化梯形与抛物线公式为了提高运算效率,有加速收敛的Richardson外推法和Romberg求积公式之后,针对节点数固定情况下,提出了Gauss公式,使其获得最大的精度本文主要研究的是抛物线求积法与Gauss-Laguerre公式。

目录第一章 抛物线求积公式与应用 3 抛物线求积公式的算法 3 3 4第二章Gauss-Laguerre求积公式与应用 52.1 Gauss-Laguerre的算法 5 52.3 Gauss-Laguerre求积公式的应用 6第三章 龙贝格算法与算法优化 7 7 73.3 龙贝格算法的应用 8第四章 数值积分的分析总结 9第一章 抛物线求积公式与应用1.1 抛物线求积公式的算法抛物线求积公式,是将区间二等分,以中点与两端点作为抛物线的三个点,并求出抛物线,在区间上对抛物线函数求积分而复化抛物线公式,即在给定区间上,分成多个小份,并分别用抛物线公式求积所求得的数值积分余项如下:具体的程序代码如下:function s=simpr1(f,a,b,M) h=(b-a)/(2*M); s1=0; s2=0; for k=1:M     x=a+h*(2*k-1);     s1=s1+feval(f,x); end for k=1:(M-1)     x=a+h*2*k;     s2=s2+feval(f,x); end s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3; 说明:f代表的是原函数,该程序为抛物线复化积分公式。

当M值为1时,如此为简化的抛物线求积公式最后s即为用matlab语言所表述的抛物线求积公式在应用局部,所计算的积分为1/(1+x^2)将函数与节点,积分区间输入函数后,得出的结果如如下图表所示图1.3.1 复化抛物线求积〔所取节点为5-50〕Fig.1.3.1pound parabolic quadrature (from the node for 5-50)图1.3.2 积分误差〔节点数为0-50〕Fig.1.3.2quadrature error (from the node for 0-50)节点数05101520253035404550误差表1.3.1 每隔5节点的误差Table 1.3.1 every 5 node error分析总结:复化抛物线积分对给定的函数有较好的适用性,在节点数为3时,误差就处于E-3数量级这主要与函数的特性与选择区间有关,所求得积分为1/4圆,故抛物线较能吻合特征从图像我们可以观察到:随着节点数的增加,积分的准确性得到增强,且增加速度较快在50个节点的情况下,误差达到了E-14的数量级从误差观察得出,误差减少到下一数量级的节点间隔数增大第二章Gauss-Laguerre求积公式与应用2.1 Gauss-Laguerre的算法Gauss-Laguerre求积公式是Gauss求积公式的一种建立在无穷区间上的特殊求积公式。

Laguerre多项式:在关于权函数为的正交多项式〔1〕故在求积分时,我们主要使用的求积公式为:〔2〕其中,〔k=1,…,n〕是的n个零点,求积系数k=1,2,…,n 〔3〕Gauss-Laguerre公式的matlab程序程序代码如下:syms xf;syms l;n=20;l(n)=exp(x)*diff(x^(n)*exp(-x),x,n);[xs]=solve([char(l(n)),'=0'],x);ll=diff(l(n),1);for i=1:n a(i)=(factorial(n))^2/(double(xs(i))*(subs(ll,x,double(xs(i)))^2));ends=double(a)*feval(f1,double(xs));程序分析:n代表Laguerre的项数,f为函数该程序先求出相应的Laguerre多项式后,通过solve解出节点,再用节点算出系数,代入求积公式2.3 Gauss-Laguerre求积公式的应用所选择的积分所在的区间为[0 inf],f(x)= √x,取不同的项数,进展求积,将所得的结果整理如下123510152025282930表2.3.1 积分数据表Table.2.3.1 the data table Gauss-Laguerre公式积分曲线Figure.2.2.2 Gauss-Laguerrequadrature 分析总结:Gauss-Laguerre公式的适用对象为在特定区间,即[0,inf]区间上的权函数乘以f(x)形式的特定积分。

从图像可以观察得到,Gauss-Laguerre公式随着节点数的增大,呈双曲线的形状其积分精度逐渐提高,但收敛较慢而用其它形式的积分来处理无限区间的积分,积分的计算量更大,精度也比拟差所以Gauss-Laguerre公式对特定积分的效果较好,但要达到一定精度,计算节点数需要到一个较大值第三章 龙贝格算法与算法优化龙贝格算法从简单的梯形序列开始逐步进展线性加速,具有占用内存少,精度高的优点而梯形或抛物线的积分算法的区间并不是线性增加的,每次计算的效率会越来越低故龙贝格算法适用于给定精度下的较为高效的求积龙贝格的matlab程序如下:fuction t=Romberg(fun,a,b,e)if nargin<4 e=1e-8;endi=1;j=1;h=b-a;T(i,1)=h/2*(feval(fun,a)+feva1(fun,b));T(i+1,1)=T(i,1)/2+sum(feval(fun,a+h/2:h:b-h/2+0.001*h))*h/2;T(i+1,j+1)=4.^j.*T(i+1,j)/(4.^j-1)-T(i,j)/(4^j-1);while abs(T(i+1,i+1)-T(i,i))>e i=i+1;h=h/2; T(i+1,1)=T(i,1)/2+sum(feval(fun,a+h/2:h:b-h/2+0.001*h))*h/2;for j=1:i; T(i+1,j+1)=4^j*T(i+1,j)/(4^j-1)-T(i,j)/(4^j-1);endendt=T(i+1,j+1);在之前的内容中,利用抛物线复化公式计算了1./(1+x.^2),在区间[1,2]上的积分为pi/4,在不同的节点取值下,抛物线复化求积的误差精度不同。

如果要得到e-10的精度X围,需要取的节点数为8而选用龙贝格算法能有效地减少计算步骤,提高效率选取精度为e-10~e-16,分别计算对应的复化求积公式和龙贝格法算法所需要运行的步骤选取函数为1./(1+x.^2),两种算法的结果如下:精度10111213141516复化求积8111624355172龙贝格算法78889911表3.2.1 计算次数与求积公式的关系Table 3.2.1 The number calculation, and the quadrature formulaFigure.3.2.2 The number calculation, and the quadrature formula从图像上,可以发现龙贝格的算法效率比抛物线的复化求积公式高,且随着精度要求的提高,抛物线的复化求积所取得等分点增加得越来越快而龙贝格算法的次数平滑增长,在较小的次数,就能达到极高的精度3.3 龙贝格算法的应用龙贝格算法对限定区间的求积较为适用在给定数据精度的情况下,对f(x)=sqrt(x)在[1,9]的区间上积分所要求的精度为10^-5.将代数值输入函数中,计算所得到的值为17.3333,符合要求。

随着精度的提升,应用龙贝格算法对给定函数在特定区间上的积分的值绘成的曲线如下图3.3.1 Romberg算法积分曲线Figure.3.3.1 Romberg integral curve algorithm从图像中我们可以发现,由于设置了精度,曲线的攀升效果较为明显,且较大精度值精度过高,根本没有区别故龙贝格算法具有较好的准确性与较高的效率第四章 数值积分的分析总结这篇文章主要对几种根本求积公式进展了matlab的程序实现与相应的应用,并简单地分析比照了各个求积公式的优缺点,归纳如下: 复化梯形或抛物线求积公式的应用较为广泛,实现手段较为简单在对精度要求不大,积分区间为一小段实数的情况下,能较好地实现求积求积的结果能够粗略地反映积分的大小且随着节点数的增加,数值积分的值逼近原值在该文中,主要用的是抛物线的复化积分,对曲线的求积效果可能较好,而对折线段的求积可能没有梯形求积公式精准Gauss求积的计算过程比拟繁琐,在本文中的Gauss-Laguerre公式求积公式需要先计算节点与对应系数,在取这些点的值,代入函数来积分运算较多,可能需要在求积前,需要预先导入节点的值与相应的系数来优化过程。

Gauss的求积公式可以运用在X围较大的或者无限的区间而其余的求积公式并不能很好实现在一个较大区间或特定区间的取值Gauss公式的数据精度较高龙贝格算法的优点上文有屡次提与,即通过较为高效的方式求出精度较高的积分在通过与复化抛物线积分的比拟时,我们发现龙贝格在求得指定精度值,所需要进展的计算次数,远小于抛物线复化求积公式所要求的划分节点数,且随着精度要求的提高,增长较为平缓在具体的数值积分情形下,可以利用多种求积方式来解决问题如基于抛物线积分的自适应抛物线法其主要原理是对子区间进展了分别积分定下误差份额,假如局部满足,如此保存对不满足的局部,切分为较小区间再积分,值得所有子区间均符合积分条件自适应的数值积分还可以选用其他的积分,如龙贝格算法但这样某种程度上增加了计算难度在对精度要求极为严苛时,误差判断是必须的,而如何确定误。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档