数值分析6-2..doc
文本预览下载声明
§6.3 一阶常微分方程组的数值解
一阶方程组和高阶方程组
1.一阶方程组
前面讨论的是单个方程的数值解法,只要把和看成向量,那么前面所讨论的各种计算公式,都可以用于一阶方程组的情形.
例如,对一阶线性微分方程组
(6.3.1)
如果用显式的公式计算,则其计算公式为
若记:
=,=,=
则方程组(6.3.1)可简单写成
(6.3.2)
相应的显式计算公式为
(6.3.3)
隐式计算公式为
(6.3.4)
改进的计算公式为
(6.3.5)
如果采用经典的方法,其计算公式为
(6.3.6)
其中
=,=
=
=
=
=
=
=
利用节点上的函数值,依次计算,,,,,,,再将它们代入(6.3.6)式求得节点上的函数值,,如此逐点计算得到各节点处的函数值.
若采用向量形式,则可简单的表示成
=,=,
=,=.
这里,=,=,=,=,=,
=.利用可以方便的编制求解程序.类似的可以将结论推广到个方程组的情形.
2.高阶方程组
一般地,对于高阶方程组,我们总可以将降阶为一个一阶方程组的形式.如对三阶微分方程的初值问题:
引入新变量,,,则可将三阶方程化为如下一阶方程组
其显式公式为:
同理可以写出相应的经典公式,这里略去.可见,一阶方程组的数值解法是求解高阶方程组的基础.
Consider the second-order initial-value problem
, for, with ,.
: Let and . This transforms the equation into the system
,
-+.
First we can use dsolve from on higher-order equations. Note that th derivative is specified by , the actual values of , can be get by
[ y1,y2]=dsolve(Dy1=y2,Dy2=exp(2*x)*sin(x)-2*y1+2*y2,y1(0)=-0.4,y2(0)=-0.6,x)
y1 =
-2/5*exp(2*x)*cos(x)+1/5*exp(2*x)*sin(x)
y2 =
4/5*exp(2*x)*sin(x)-3/5*exp(2*x)*cos(x)
Now we use The method to approximate the solution to this problem using h=0.1. The initial conditions give and .
====-0.6,==-+=-0.4
===-0.6+(-0.02)=-0.62
== -
+=0.3247644757
===-0.6+0.05×0.3247644757=-0.6162832238
==-0.3152409237
==-0.6315240924
==-0.22178637298
So
=-0.4617333423 and
=-0.6316312421.
The value approximates =0.2, and approximates
=0.2. The set of values and , for ,
obtained using the Runge-Kutta method of order four, are presented in the next table and are compared to the actual values of
显示全部