数值计算时不同阶精度的算法混合使用会不会更容易造成数值不稳定?

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:26:49
比如说欧拉法和龙格-库塔4步法混合使用用数值方法求解一个模型(模型由多个偏微分方程描述).比起光用欧拉法或者光使用龙格-库塔法,这种混合使用的方法会不会更容易造成数值涨落(Numeric Fluctuation)或者说是数值不稳定(Numeric Instability)
感谢一楼的回答.不过一楼回答的3我不是太理解.什么叫做原理不同?我使用的算法都是沿着时间步推进.我使用的是Adams-Bashforth 法预估,Adams-Moulton 法修正.由于是多步法,所以初始条件给定之后必须用单步法计算出前三个时间步.通常的参考资料上给的都是前三步用龙格-库塔4步法.为了编程简单我使用的欧拉法代替龙格-库塔4步法.但是我发现从第四时间步开始,也就是第一个使用多步法的时间步开始,数值涨落突然增加到很大.所以我想讨论的问题就是,这种数值涨落是不是由于欧拉法和我的预估-修正法精度不同阶造成的(欧拉法是二阶精度,龙格-库塔四步法和Adams预估-修正法都是四阶精度).

1.精度不同的算法,对初始数据的要求不同,有可能会由于初始数据的精度影响了整个算法的精度

2.精度不同的算法,有可能会稳定程度不同,混合使用时可能刚好会有放大误差的效果

3.精度不同的算法,有可能原理根本不同,所以不能混合使用

4.感觉上,基于迭代的算法应该可以使用吧?

个人见解.......

精度不同的算法,对初始数据的要求不同,有可能会由于初始数据的精度影响了整个算法的精度 .