更新时间:05-12 上传会员:翩翩起舞
分类:理工论文 论文字数:8232 需要金币:1000个
摘要:现在这个飞速发展的科学社会中,数学里面有很多问题常常被归结为微分方程的求解问题。常微分方程的求解问题是现代工程技术和人文技术以及科学技术中不可避免要遇到的实际问题,比如空中研究的物体飞行,天文学中研究的星体运动等都需要我们利用常微分方程的初值问题来解决。所以,现在越来越把利用数值解法求解实际问题就显得格外的重要。
本文通过介绍常微分方程初值问题的多种方法,包括单步数值解法和多步数值解法,比如有Euler法、改进的Euler法、Runge-Kutta法以及线性多步法等。通过利用数值微积分法与Taylor展开法来研究常微分方程初值问题的数值解法,其中Taylor展开法具有一般性,在构造迭代公式的同时可以得到相应的截断误差。本文主要介绍了采用单步法和Adams方法求解常微分方程初值问题的数值解,并且运用Matlab进行编程求解。在实际问题中,如果要想求解的精度高,四阶Rung-Kutta方法是单步法中常用的方法,总结来说四阶Rung-Kutta方法就是精确度高,编程又简单,而且易于调节步长,计算过程也基于稳定。尤其是修正后的Adams预测-校正公式更是具有良好的求解精度,然而Adams方法需要借助其他方法计算启动的初始值。因此不同的问题我们要根据实际情况采取相应的解决方法。
关键字:常微分方程,数值解,单步法,Adams方法,Matlab编程
目录
摘要
Abstract
1.引言-4
2.问题的描述和分析-5
2.1 常微分方程的特征-5
2.1.1通解和特解-5
2.2 Matlab 和常微分方程的应用-5
3.算法原理-6
3.1 求解常微分方程数值方法-6
3.1.1 一阶方程初值问题-6
3.1.2 欧拉方法-6
3.1.3 龙格-库塔(Runge-Kutta)法-9
3.1.4 线性多步法-11
3.2 利用Matlab求解一阶方程初值问题-14
3.2.1 Matlab算法-14
3.2.2 利用内嵌程序从而直接得到结果-15
4.数值算例-16
4.1 利用内嵌程序直接获得结果-16
4.2 通过数值解法的思想编程实现-16
5.总结-19
参考文献-20
附 录-21
致 谢-23