求解常微分方程组初值问题的 龙格库塔法分析及其C代码 1 、概 述 由高等数学的知识可知,一些特殊类型的常微分方程(组)能够求出给定初始值的解析解,而在科学与工程问题中遇到的常微分方程(组)往往是极其复杂的,要想求得其给定初始值的解析解就变得极其困难,甚至是得不到解析解
尽管如此,在研究实际问题时,往往只需要获得若干点上的近似值就行了,这就说明研究常微分方程(组)的数值解法是很有必要的
求解常微分方程(组)的数值解法有多种,比如欧拉法、龙格库塔法、线性多步法等等,其中龙格库塔法是这几种方法中比较常用的,因为其计算精度较高且具有自启动的特点
对于用龙格库塔法求解单个常微分方程和求解常微分方程组的思路基本相似(注意一点一个微分方程组是常微分方程组即表明微分方程中的各阶导数都是对同一个变量求导,例如可以把各个量对时间求导得到一个常微分方程组,如果一个微分方程组中的有对不同变量的导数那么这个方程组就成了偏微分方程组),都是根据泰勒展开得到其迭代计算形式,其基本思想都是按照一定原则求取当前点附近一些点的斜率,通过这些斜率的线性组合作为当前点处的斜率,进行递推求解
2 、数学模型 2
1 常微分方程初值问题的数学模型 000( , ) ()()dyf x yxxdxy xy (1 ) 式中( , ) f x y为 ,x y 的已知函数,0y 为给定的初始值
常微分方程的数值解法的任务就是要求出函数值y 在微分自变量 x取如下序列: 012nxxxx 时的值( ) (1 ,2 ,3,)iy xin 的近似值(1 ,2 ,3,)iy in ,一般情况下都采取等距结点的方式,即:0 (1 ,2, )ixxih in,其中 h 为相邻两结点的距离,称为步长
2 常微分方程组初值问题的数学模型 11122212121010202000