数学建模与数学实验 微分方程 后勤工程学院数学教研室
数学建模与数学实验 后勤工程学院数学教研室 微 分 方 程
实验目的 1、学会用 Matlab求简单微分方程的解析解 2、学会用 Matlab求微分方程的数值解. 验内 1、求简单微分方程的解析解 2、求微分方程的数值解 3、数学建模实例 4、实验作业
实验目的 实验内容 2、学会用Matlab求微分方程的数值解. 1、学会用Matlab求简单微分方程的解析解. 1、求简单微分方程的解析解. 4、实验作业. 2、求微分方程的数值解. 3、 数学建模实例
求微分方程的数值解 (一)常微分方程数值解的定义 (二)建立数值解法的一些途径 (三)用 Matlab软件求常微分方程的数值解 返回
求微分方程的数值解 (一)常微分方程数值解的定义 (二)建立数值解法的一些途径 (三)用Matlab软件求常微分方程的数值解 返 回
数学建模实例 1、目标跟踪问题一:导弹追踪问题 2、目标跟踪问题二:慢跑者与狗 3、地中海鲨鱼问题 返回
1、目标跟踪问题一:导弹追踪问题 2、目标跟踪问题二:慢跑者与狗 3、地中海鲨鱼问题 返 回 数学建模实例
微分方程的解析解 求微分方程(组)的解析解命令: dsolve(方程1,‘方程2,…方程n’,初始条件’,‘自变量’) 记号:在表达微分方程时,用字母D表示求微分,D2、D3等 表示求高阶微分任何D后所跟的字母为因变量,自变量可以指 定或由系统规则选定为确省 例如,微分方程 2 0应表达为:D2y=0 例1求 au 1+u2的通解 解输入命令: dsolve(Du=1+u^2,t) 结果:u=tg(tc) To Matlab(ff1)
微分方程的解析解 求微分方程(组)的解析解命令: dsolve(‘方程1’ , ‘方程2’ ,…‘方程n’ , ‘初始条件’ , ‘自变量’) 记号: 在表达微分方程时,用字母 D 表示求微分,D2、D3 等 表示求高阶微分.任何 D 后所跟的字母为因变量,自变量可以指 定或由系统规则选定为确省. 例如,微分方程 0 2 2 dx d y 应表达为:D2y=0. 例 1 求 2 1 u dt du 的通解. 解 输入命令:dsolve('Du=1+u^2' , 't') 结 果:u = tg(t-c) To Matlab(ff1)
例2求微分方程的特解 +4+29 少y=0 dx x y(0)=0,y(0)=15 解输入命令:y= dsolve(D2y+4*Dy+29*y=0y(0)=0,Dy(0=15;x) To Matlab(ff2) 结果为:y=3esin(5x)
例 2 求微分方程的特解. (0) 0, '(0) 15 4 29 0 2 2 y y y dx dy dx d y 解 输入命令: y=dsolve('D2y+4*Dy+29*y=0' , 'y(0)=0,Dy(0)=15' , 'x') 结 果 为 : y =3e -2xsin(5x) To Matlab(ff2)
例3求微分方程组的通解 dx=2x-3y+32 dy=4x-5y+32 dt dz 4x 4y+2z y 解输入命令: [xy,2]= dsolve(Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z,"t); x= simple(x)%将ⅹ化简 y=simple(y) To Matlab(ff3) z=simple(z) 结果为:x=(c1-c2+c3+c2e3t-c3e-3)e2t y=-ce-4+c2e4+c2e3-c3e-3+c1-C2+c3)e2 Z=(-c1e4+c2e4t+c1-C2+c3)e 返回
例 3 求微分方程组的通解. x y z dt dz x y z dt dy x y z dt dx 4 4 2 4 5 3 2 3 3 解 输入命令 : [x,y,z]=dsolve('Dx=2*x-3*y+3*z' , 'Dy=4*x-5*y+3*z' , 'Dz=4*x-4*y+2*z' , 't'); x=simple(x) % 将x化简 y=simple(y) z=simple(z) 结 果 为:x = (c1-c2+c3+c2e -3t-c3e -3t)e 2t y = -c1e -4t+c2e -4t+c2e -3t-c3e -3t+c1-c2+c3)e 2t z = (-c1e -4t+c2e -4t+c1-c2+c3)e 2t To Matlab(ff3) 返 回
微分方程的数值解 (一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂且大多 得不出一般解。而在实际上对初值问题,一般是要求得 到解在若干个点上满足规定精确度的近似值,或者得到 个满足精确度要求的便于计算的表达式。 因此,研究常微分方程的数值解法是十分必要的。 对常微分方程:y=xy) 其数值解是指由初始点x。开始 的若干离散的x值处,即对x0<x1<x2<…<xn求出准确值y(x1), (x2)…,y(xn)的相应近似值y12y2…,yn 返回
微分方程的数值解 (一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂且大多 得不出一般解。而在实际上对初值问题,一般是要求得 到解在若干个点上满足规定精确度的近似值,或者得到 一个满足精确度要求的便于计算的表达式。 因此,研究常微分方程的数值解法是十分必要的。 的相应近似值 。 的若干离散的 值处,即对 ,求出准确值 对常微分方程: ,其数值解是指由初始点 开始 n n n y x y x y y x x x x x y ( ), , ( ) y , , , y(x ), x y(x ) y' f(x, y) 2 1 2 0 1 2 1 0 0 0 返 回
(二)建立数值解法的一些途径 设x1-x1=h,i=0,1,2,…n-1,可用以下离散化方法求解微分方程: ∫y=f(xy) (X, 1、用差商代替导数 若步长h较小,则有 (x)≈x+h 故有公式: 1=y2+hf(x1,y1) i=0,1,2,…,n-1 y(x0) 此即欧拉法
(二)建立数值解法的一些途径 0 0 i 1 y(x ) y' f(x, y) x , 0,1,2, 1, y 设 xi h i n 可用以下离散化方法求解微分方程: 1、用差商代替导数 若步长h较小,则有 h y x h y x y x ( ) ( ) '( ) 故有公式: i 0,1,2, ,n -1 ( ) ( , ) 0 0 1 y y x y y hf x y i i i i 此即欧拉法
2、使用数值积分 对方程y=f(xy),两边由x到x积分,并利用梯形公式,有: f(,y(1)≈x+1-x 2(x1,y(x)+f(x+1,y(x1) 故有公式:y1=+2U(x2y)+f(x1,月 yo=y(x 实际应用时,与欧拉公式结合使用: yii=y hf(x,yi) y141=y+[f(x,y)+f(x1,y)k=012,… 对于已给的精确度6,当满足4+)-1y出<时,取ym1=y 然后继续下一步y12的计算 此即改进的欧拉法
2、使用数值积分 对方程y’=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有: [ ( , ( )) ( , ( ))] 2 ( ) ( ) ( , ( )) 1 1 1 1 1 i i i i i i x x i i f x y x f x y x x x y x y x f t y t dt i i 实际应用时,与欧拉公式结合使用: [ ( , ) ( , )] 0,1,2, 2 ( , ) ( ) 1 1 ( 1) 1 (0) 1 f x y f x y k h y y y y hf x y k i i i i i k i i i i i 然后继续下一步 的计算。 对于已给的精确度 ,当满足 时,取 ( ) , y y i 2 1 i 1 1 ( ) 1 ( 1) 1 k i k i k i y y y 此即改进的欧拉法。 故有公式: ( ) [ ( , ) ( , )] 2 0 0 1 1 1 y y x f x y f x y h y y i i i i i i