- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、梯形法(二阶龙格-库塔法) 取泰勒级数中的前三项之和来近似计算,得: (3.3.2) 已知 ,于是 式(3.3.2)的截断误差是 ,是二阶精度,显然精度比欧拉法高,但由于出现了二阶导数,因此计算精度与计算量均加大。为求解,我们可以考虑用函数 在点 和点 的线性组合代替式(3.3.2)的右端后两项,即假设 ①② ③ ④ ⑤ ⑥ 因为要计算 ,而等号右侧要用到 ,无法求解,故梯形法不能自己启步运算,必须先近似一个 然后在逐步迭代计算。 因为要计算 ,而等号右侧要用到 ,无法求解,故梯形法不能自己启步运算,必须先近似一个 然后在逐步迭代计算。 具体实现方法: 先用欧拉法启步,求一个初步的近似值; --预估值 用预估值 代入(1)方程,计算实际的 ,称为校正值; 经多次迭代,使 ( 为容许误差) 即达到要求。 取一次迭代就称为二阶龙格-库塔法,或改进的欧拉法 三、四阶龙格-库塔法(Runge—Kutta) 同二阶龙格-库塔法相似,取 区间上四点斜率值,称四阶龙格-库塔法。 公式: (3.3.3) 式中: 四阶龙格-库塔法具有以下特点: 龙格-库塔法采用了平均斜率和线性内插的方法,提高了计算精度; 截断误差为 ,正比于 ,准确性高; 每步计算四个斜率值,计算量增加,所以适合于精度要求较高的场合,能够满足大部分实际问题的精度要求,所以现在流行的仿真程序基本上采用其编制; 自动启步计算,只需给定初值 ,就可自行逐步计算。 四、仿真模型误差和数值稳定性问题 计算精度 数值积分算法的精度主要由三个因素影响:截断误差、舍入误差以及它们的积累情况。 其中截断误差与积分方法的阶次和步长有关。在同样的步长下,算法的阶数越高,截断误差越小;在同一种算法下,步长越小,因而精度越高。 舍入误差主要决定于选用的计算机的字长,字长越长,舍入误差越小。 这两类误差的积累对数值计算精度的影响又与数值积分计算时间的长短和积分算法有关,对于相同的算法,在一定时间范围内,步长越小,计算次数越多,累积舍入误差越大。 在计算精度要求不太高时,选用高阶算法可保证在计算稳定的条件下,把步长取得大些,反之取小些。 计算速度 计算速度决定于在给定积分时间内,积分次数和每次积分所需的时间。每一次积分计算时间与积分方法的计算工作量有关,它主要决定于计算右端函数的次数。 例如四阶龙格-库塔法,每增加一个步长要计算4次右端函数,花费时间。为加快计算速度,在确定的积分方法和保证计算精度以及稳定的条件下,应尽量选用较大步长以减少积分次数。在精度要求不高的场合,尽量选用低阶的计算量少的算法。 数值稳定性问题 指的是误差的积累是否能受到控制的问题。 数值积分算法实质上是将微分方程转化为差分方程求解的方法。由于存在误差,对于一个稳定的微分方程,经过转换得到的差分方程不一定是计算稳定的。 不同的数值积分方法,其稳定性也是不同的。对于已知是稳定的连续系统,当用某种数值积分方法进行仿真时,数值解的稳定性必须保证,否则,计算结果将失去真实的意义。 例如: 显然上例中的计算结果是错误的,出现这种情况是因为数值积分法是一种近似方法,在反复的递推中将引入误差,若误差的积累越来越大,将使计算变得不稳定,从而得出错误的结果。 结论: 如果在每步计算中,前面积累的舍入误差对实际的误差的影响是减弱的,则计算方法是稳定的,反之
文档评论(0)