- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模拟物理-
第四章 特殊函数和Gauss求积
主要内容
特殊函数的算法
以正交函数为基础的高效率求积方法
说明
大型程序库提供这些子程序
很少需要了解其细节
但是对其方法有一个大致的概念还是有用的
4.1 特殊函数
特殊函数是在计算机发明之前发展起来的。
当时解析方法是通用的准则。
在今天它的重要性:
解析解提供更多的物理洞察力。提供一个框架。
对于数值计算来说:利用它可以使问题的一部分由解析方法求出;这将大大减少计算工作量。
解析解减少计算的简单例子
考虑一维简谐振子在外部扰动下运动,频率ω(t)是随时间变化的。tT以后不受扰动,频率为ω0。现在需要计算扰动停止很久以后的运动。
直接的数值方法是求解微分方程
但是这样效率很低。
解析解减少计算的简单例子
我们对于tT以后的解是清楚的。
只需要数值地求积0tT时间段,计算出x(T)和v(T),就可以用这个解析解直接得到tT时的运动。
利用特殊函数来做一部分工作的想法与此相同。
Legendre多项式
一些特殊函数的计算方法是递推。
比如Legendre多项式Pl(x) ,(|x|1)(它对于球对称情况下解波动方程是很重要的):
利用最低两阶 和 向前递推可以得出任意更高阶的Pl(x)
程序
Legendre多项式的导数公式为
利用计算Pl(x)的迭代程序,也可以计算出Legendre多项式的导数。
Gauss求积
本节讨论一个计算定积分的方法。
它只适用于一些特殊的被积函数。
在那种情况下,它的精度高,效率也高。
这些特殊的被积函数是能够被多项式近似的函数。
这里仅讨论基本原理,而不给出推导。
我们第一章讨论的定积分方法使用被积函数在一系列等间隔的格点上的值。
如果我们能够求被积函数在任意坐标上的值,那么还存在更有效的求积方案。
它们之中最有用的一种方案是Gauss求积。
设要计算
第一章里的公式输入下面的形式
其中
对于Simpson法则,当N=3
关于精度
在Simpson法则的推导过程中可以看出,当被积函数f是一个3次或更低次的多项式时,上述公式是精确的。
更一般地说,如果一个以Taylor级数为基础的求积公式使用N个点,那么公式对一个N-1次多项式的积分是精确的。
即此公式选定了N个权重 使得
寻找更高精度
下面我们放弃求积点等间隔的要求,寻找使用一定的计算工作量可以达到更高精度的方法。
我们将挑选 。并且这里的 也是需要挑选的量。
挑选这些量的目标是让p=0, 2N-1都有
也就是说,求积公式只用N个格点,就可以对2N-1次或较低次的多项式准确成立。
利用Legendre多项式
下面我们要利用Legendre的正交性质来建立这样的算法。
在区间[-1, 1]上
Pi是一个i次多项式,在[-1, 1]区间有i个根。
于是任意一个2N-1次(或更低)多项式f(x)可以写成
其中Q和R是N-1次(或更低次)多项式。
利用关系式
积分可以写成
其中使用了正交性质。
现在如果取 为 的N个零点,则
选择 使得R的积分是精确的。
可以证明
真正用于计算的公式是:
因为
以上公式叫做Gauss-Legendre求积公式。
它是Gauss求积方法的一种,是利用了Legendre多项式。
当被积函数取特殊形式时,别的正交多项式提供有效的Gauss求积公式。
积分限的变换
通过变量的线性变换,上述公式可以应用于任何有限的积分限之间的定积分。
例如对于积分限[a, b],做变换
积分限就化为[-1, 1]。
在实际应用Gauss求积公式时,并不需要写程序来计算格点坐标值和权重。
程序库中一般都用这样的子程序来建立包含这些数的数组。
适用情况
当被积函数光滑
或抽出一个函数后可以使之光滑
如果被积函数变化很快,可以把基本的Gauss求积公式应用到积分域的几个子区间上,从而把积分公式复合起来。
不适用情况
若被积函数只能在等间隔的点上求值,就必须用第一章讨论的公式。
例子
用3点Gauss-Legendre求积公式计算积分
做变量代换
得
计算坐标值和权重
程序
文档评论(0)