预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共68页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

常微分方程数值解0、导言另一个是方程的求解和结果分析。对一些常系数的或特殊函数形式的微分方程,往往能得到解析解,这对实际问题的分析和应用都是有利的,但是大多数变系数的、非线性函数形式的微分方程都是求不出解析解的,此时就需要应用求解微分方程的另一个重要方法──数值解法。 本章简要介绍有关微分方程模型的概念,微分方程的数值解法和图解法,主要介绍若干建模实例,通过它们展示微分方程模型的建模步骤及解决实际问题的全过程。1、实例及其数学模型建立直角坐标系如图,设在t=0时刻缉私艇发现走私船,此时缉私艇的位置在(0,0),走私船的位置在(c,0)。走私船以速度a平行于y轴正向行驶,缉私艇以速度b按指向走私船的方向行驶。在任意时刻t缉私艇位于P(x,y)点,而走私船到达Q(c,at)点,直线PQ与缉私艇航线(图中曲线)相切,切线与x轴正向夹角为。缉私艇在x,y方向的速度分别为 ,由直角三角形PQR写出sin和cos的表达式,得到微分方程: (1) 初始条件为 (2) 这就是缉私艇位置(x(t),y(t))的数学模型。但是由方程(1)无法得到x(t),y(t)的解析解,需要用数值算法求解。我们将在后面继续讨论这个问题。例2弱肉强食模型用x(t)表示时刻t食饵(如食用鱼)的密度,即一定区域内的数量,y(t)表示捕食者(如鲨鱼)的密度。假设食饵独立生存时的(相对)增长率为常数r>0,即,而捕食者的存在使食饵的增长率减小,设减小量与捕食者密度成正比,比例系数为a>0,则。 捕食者离开食饵无法生存,设它独自存在时死亡率为常数d>0,即,而食饵的存在为捕食者提供了食物,使捕食者的死亡率减小,设减小量与食饵密度成正比,比例系数为b>0,则,实际上,当bx>d时捕食者密度将增长。 给定食饵和捕食者密度的初始值x0,y0,由上可知x(t),y(t)满足以下方程: (3) (3)的解x(t),y(t)描述了食饵和捕食者密度随时间的演变过程。但是我们同样得不到x(t),y(t)的解析解,需要用数值算法求解。我们将在§3继续讨论这个问题§2欧拉方法和龙格—库塔方法所谓数值解法,就是设法将常微分方程离散化,建立差分方程,给出解在一些离散点上的近似值.对右边的积分应用左矩形公式,则有对右边的积分应用左矩形公式,则有利用Euler方法求初值问题分别取步长h=0.2,0.1,0.05,计算结果如下hEuler中点公式则不然,计算yn+1时需用到前两步的值yn,yn-1,称其为两步方法,两步以上的方法统称为多步法.从数值积分的角度来看,梯形公式由迭代法收敛的角度看,当y=y-2x/y,0x1计算结果如下:n在节点xn+1的误差y(xn+1)-yn+1,不仅与yn+1这一步计算有关,而且与前n步计算值yn,yn-1,…,y1都有关.另外,在yn=y(xn)的条件下,考虑到y(x)=(x,y(x)),则有yn+1=yn+h(xn,yn)所以,改进的Euler方法是二阶方法.称之为p阶Taylor展开方法.所以,此差分公式是p阶方法.构造差分公式由于一般地,参数由(8)确定的一族差分公式(7)统称为二阶R-K方法.四阶标准R-K公式解四阶标准R-K公式为n是二级二阶隐式R-K方法,也就是梯形公式.但是p级隐式R-K方法的阶可以大于p,例如,一级隐式中点公式为如果将步长减半,取h/2为步长,从xn经两步计算得到y(xn+1)的近似值记为求解初值问题设y(x)是初值问题(4)的解,yn是单步法(9)产生的近似解.如果对任意固定的点xn,均有其中,局部截断误差|Rn(h)|C1hp+1,记en=y(xn)-yn,则有由于e0=y(a)-y0=0,所以有条件,因此改进的Euler方法是收敛的.将Euler方法应用于方程y=y,得到类似前面分析,可知绝对稳定区域为解因y0=1,计算得y10=1024,而y(1)=9.35762310-14.单步显式方法的稳定性与步长密切相关,在一种步长下是稳定的差分公式,取大一点步长就可能是不稳定的.当-10时,公式为隐式公式,反之为显式公式.参数i,i的选择原则是使方法的局部截断误差为n=(xn,y(xn))=y(xn)=1,0+1+2=1,1+22=-1/2,1+42=1/3选取不同的插值多项式pr(x),就可导出不同的差分公式.下面介绍常用的Adams公式.由此,可建立差分公式下面列出几个带有局部截断误差主项的Adams显式公式其中系数为3.Adams预估-校正公式y=y-2x/y,0x1§3R—K方法的MATLAB实现命令的输入f是待解方程写成的函数m文件: functiondx=f(t,x) dx=[f1;f2;;fn]; 若ts=[t0,t1,t2,…,tf],则输出