科学计算—理论、方法及其基于MATLAB的程序实现与分析微分方程(组)数值解法§1常微分方程初值问题的数值解法微分方程(组)是科学研究和工程应用中最常用的数学模型之一。如揭示质点运动规律的Newton第二定律:????????????????000022xtxxtxtFdtxdm(1)和刻画回路电流或电压变化规律的基尔霍夫回路定律等,但是,只有一些简单的和特殊的常微分方程及常微分方程组,可以求得用公式给出的所谓“解析解”或“公式解”,如一阶线性微分方程的初值问题:????00yytfaydtdy???(2)的解为:?????????dfeyetyttaat????00(3)但是,绝大多数在实际中遇到的常微分方程和常微分方程组得不到“解析解”,因此,基于如下的事实:1、绝大多数的常微分方程和常微分方程组得不到(有限形式的)解析解;2、实际应用中往往只需要知道常微分方程(组)的解在(人们所关心的)某些点处的函数值(可以是满足一定精度要求的近似值);如果只需要常微分方程(组)的解在某些点处的函数值,则没有必要非得通过求得公式解,然后再计算出函数值不可,事实上,我们可以采用下面将介绍的常微分方程(组)的初值问题的数值解法,就可以达到这一目的。一般的一阶常微分方程(组)的初值问题是指如下的一阶常微分方程(组)的定解问题:????000,ytytttytFdtdyf????(7)其中???????????????????????tytytytyn?21(8)???????????????????????ytfytfytfytFn,,,,21?(9)常微分方程(组)的初值问题通常是对一动态过程(动态系统、动力系统)演化规律的描述,求解常微分方程(组)的初值问题就是要了解和掌握动态过程演化规律。§(组)的Cauch问题数值解法概论假设要求在点(时刻)kt,nk,,2,1??处初值问题(7)的解??00,,yttyy?的(近似)值,如果已求得kt时刻的值??kty或它的近似值ky(如0t时刻的值??0ty),那么将式(7)的两端在区间??1,?kktt上积分????????dttytftytydtdtdykkkkttkktt????????11,1(10)可得????????dttytftytykkttkk?????1,1(11)或??????dttytfyytykkttkkk???????1,11(12)显然,为了利用式(11)或(12)求得??1?kty的精确值(近似值1?ky),必须计算右端的积分,这是问题的关键也是难点所在,如前所述,一般得不到精确的公式解,因此需要采用数值积分的方法求其近似解,可以说,不同的式值积分方法将给出不同的Cauch问题的数值解法。§——Euler方法假设要求在点(时刻)khttk??0,ntthf0??,nk,,2,1??处初值问题(7)的解??tyy?的近似值。首先对式(7)的两端积分,得????????dttytftytydtdtdyttkktt??????,1(13)对于式(13)的右边,如果用积分下限ktt?处的函数值????kktytf,代替被积函数作积分(从几何上的角度看,是用矩形面积代替曲边梯形面积),则有????????????kkttkktythfdttytftyty,,1?????(14)进而得到下式给出的递推算法—Euler方法????001,,2,1,ytynkythfyykkkk??????(15)例1用Euler方法解如下初值问题,?h,??1030sin23?????yttyydtdy解:由(15)得??1010,,2,?????yktyyykkkk?结果如下: Method of Solving Initial Value ProblemIntegral CurveEuler Curve ?h,其结果如下图所示: Method of Solving Initial Value ProblemIntegral CurveEuler Curve §(15)的右边,如果被积函数用积分限ktt?和1??ktt处的函数值的算术平均值代替(几何上,是用梯形面积代替曲边梯形面积),则有??????????????????111,,2,????????kkkkttkktytftytfhdttytftyty(16)进而得到下式给出的递推算法:????????00
081数值计算方法—常微分方程(组) 来自淘豆网m.daumloan.com转载请标明出处.