上机教学三微分方程求解课件

上传人:鲁** 文档编号:568297208 上传时间:2024-07-24 格式:PPT 页数:23 大小:259.50KB
返回 下载 相关 举报
上机教学三微分方程求解课件_第1页
第1页 / 共23页
上机教学三微分方程求解课件_第2页
第2页 / 共23页
上机教学三微分方程求解课件_第3页
第3页 / 共23页
上机教学三微分方程求解课件_第4页
第4页 / 共23页
上机教学三微分方程求解课件_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《上机教学三微分方程求解课件》由会员分享,可在线阅读,更多相关《上机教学三微分方程求解课件(23页珍藏版)》请在金锄头文库上搜索。

1、 高等数学高等数学 上机教学(三)上机教学(三)微分方程求解微分方程求解上机目的上机目的上机内容上机内容MATLAB2、学会用、学会用 Matlab 求微分方程的数值解求微分方程的数值解.上机软件上机软件1、学会用、学会用 Matlab 求简单微分方程的解析解求简单微分方程的解析解.1、求简单微分方程的解析解、求简单微分方程的解析解.4、上机作业、上机作业.2、求微分方程的数值解、求微分方程的数值解.3、 数学建模实例数学建模实例. 1、微分方程的解析解、微分方程的解析解 求微分方程(组)的解析解命令求微分方程(组)的解析解命令:dsolve(方程方程1, 方程方程2,方程方程n, 初始条件初

2、始条件, 自变量自变量) 结果结果:u = tan (t+c1)例如求下例微分方程的特解。例如求下例微分方程的特解。 在在Matlab命令窗口中输入:命令窗口中输入: y=dsolve(Dy=exp(x),y(0)=exp(1),x)输出结果为:输出结果为:y =exp(x)-1+exp(1)如想画出函数在自变量如想画出函数在自变量x在区间在区间-10,10的函数图像,可在的函数图像,可在命令窗口中输入:命令窗口中输入: ezplot(y,-10,10) 解解 输入命令输入命令: y=dsolve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x)结结 果果 为为 : y =

3、3*exp(-2*x)*sin(5*x)3*exp(-2*x)*sin(5*x)作图命令:作图命令:ezplot(y,1.0,4)ezplot(y,1.0,4) 解解 输入命令输入命令 : 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)e2t , y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t ,

4、 z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t . 2、微分方程的数值解、微分方程的数值解(一)常微分方程数值解的定义(一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂且大多得在生产和科研中所处理的微分方程往往很复杂且大多得不出一般解不出一般解.而在实际上对初值问题,一般是要求得到解在若而在实际上对初值问题,一般是要求得到解在若干个点上满足规定精确度的近似值,或者得到一个满足精确干个点上满足规定精确度的近似值,或者得到一个满足精确度要求的便于计算的表达式度要求的便于计算的表达式.因此,研究常微分方程的数值解法是十分必要的因此,研究常微分方程的数值解法是十

5、分必要的.(二)建立数值解法的一些途径(二)建立数值解法的一些途径1、用差商代替导数、用差商代替导数 若步长若步长h较小,则有较小,则有故有公式:故有公式:此即欧拉法此即欧拉法.2、使用数值积分、使用数值积分对方程对方程y=f(x,y), 两边由两边由xi到到xi+1积分,并利用梯形公式,有:积分,并利用梯形公式,有:实际应用时,与欧拉公式结合使用:实际应用时,与欧拉公式结合使用:此即改进的欧拉法此即改进的欧拉法.故有公式:故有公式:3、使用泰勒公式、使用泰勒公式 以此方法为基础,有龙格以此方法为基础,有龙格-库塔法、线性多步法等方法库塔法、线性多步法等方法.4、数值公式的精度、数值公式的精度

6、 当一个数值公式的截断误差可表示为当一个数值公式的截断误差可表示为O(hk+1)时()时(k为正整数,为正整数,h为步长),称它是一个为步长),称它是一个k阶公式阶公式.k越大,则数值公式的精度越高越大,则数值公式的精度越高. 欧拉法是一阶公式,改进的欧拉法是二阶公式欧拉法是一阶公式,改进的欧拉法是二阶公式. 龙格龙格-库塔法有二阶公式和四阶公式库塔法有二阶公式和四阶公式. 线性多步法有四阶阿达姆斯外插公式和内插公式线性多步法有四阶阿达姆斯外插公式和内插公式.(三)用(三)用Matlab软件求常微分方程的数值解软件求常微分方程的数值解t,x=solver(f,ts,x0,options)ode

7、45 ode23 ode113ode15sode23s由待解由待解方程写方程写成的成的m-文件名文件名ts=t0,tf,t0、tf为为自变量的自变量的初值和终初值和终值值函数的函数的初值初值ode23:组合的:组合的2/3阶龙格阶龙格-库塔库塔-芬尔格算法芬尔格算法ode45:运用组合的:运用组合的4/5阶龙格阶龙格-库塔库塔-芬尔格算法芬尔格算法自变自变量值量值函数函数值值用于设定误差限用于设定误差限(缺省时设定相对误差缺省时设定相对误差10-3, 绝对误差绝对误差10-6),命令为:命令为:options=odeset(reltol,rt,abstol,at), rt,at:分别为设定的相

8、对误差和绝对误差:分别为设定的相对误差和绝对误差. 1、在解、在解n个未知函数的方程组时,个未知函数的方程组时,x0和和x均为均为n维向量,维向量,m-文件中的待解方程组应以文件中的待解方程组应以 x 的分量形式写成的分量形式写成. 2、使用、使用 Matlab 软件求数值解时,高阶微分方程必须等价软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组地变换成一阶微分方程组.注意注意:解解: 令令 y1=x,y2=y11、建立、建立m-文件文件vdp1000.m如下:如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=

9、1000*(1-y(1)2)*y(2)-y(1); 2、取、取t0=0,tf=3000,在,在matlab主命令窗口中输入命令:主命令窗口中输入命令: T,Y=ode15s(vdp1000,0 3000,2 0); plot(T,Y(:,1),-) 3、结果如图:、结果如图:解解 1、建立、建立m-文件文件rigid.m如下:如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);2、取、取t0=0,tf=12,输入命令:,输入命令: T,Y=ode45

10、(rigid,0 12,0 1 1); plot(T,Y(:,1),-,T,Y(:,2),*,T,Y(:,3),+)3、结果如图:、结果如图: 图中,图中,y1的图形为实线,的图形为实线,y2的图形为的图形为“*”线,线,y3的图形为的图形为“+”线线.(一)导弹追踪问题(一)导弹追踪问题 设位于坐标原点的甲舰向位于设位于坐标原点的甲舰向位于x轴上点轴上点A(1, 0)处的乙舰处的乙舰发射导弹,导弹头始终对准乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度如果乙舰以最大的速度v0(是常数是常数)沿平行于沿平行于y轴的直线行驶,导弹的速度是轴的直线行驶,导弹的速度是5v0,求导,求导弹运行

11、的曲线方程弹运行的曲线方程.又乙舰行驶多远时,导弹将它击中?又乙舰行驶多远时,导弹将它击中?解法一:(解析法)解法一:(解析法)3、数学建模实例、数学建模实例由由(1),(2)消去消去t整理得模型整理得模型:解法二:解法二:(数值解数值解)1. 建立建立m-文件文件eq1.m function dy=eq1(x,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1/5*sqrt(1+y(2)2)/(1-x); 2. 取取x0=0; xf=0.9999,建立主程序,建立主程序ff6.m如下如下: x0=0; xf=0.9999; x,y=ode15s(eq1,x0 xf,0

12、 0); plot(x,y(:,1),b.) hold on; y=0:0.01:2; plot(1,y, r*) 结论结论: 导弹大致在(导弹大致在(1,0.2)处击中乙舰)处击中乙舰.令令y1=y,y2=y1,将方程(,将方程(3)化为一阶微分方程组)化为一阶微分方程组.解法三:解法三:(建立参数方程求数值解建立参数方程求数值解) 设时刻设时刻t乙舰的坐标为乙舰的坐标为(X(t),Y(t),导弹的坐标为,导弹的坐标为(x(t),y(t).3因乙舰以速度因乙舰以速度v0沿直线沿直线x=1运动,设运动,设v0=1,则,则w=5,X=1,Y=t4. 解导弹运动轨迹的参数方程解导弹运动轨迹的参数方

13、程(1) 建立建立m-文件文件eq2.m如下:如下: function dy=eq2(t,y) dy=zeros(2,1); dy(1)=5*(1-y(1)/sqrt(1-y(1)2+(t-y(2)2); dy(2)=5*(t-y(2)/sqrt(1-y(1)2+(t-y(2)2); (2)取)取t0=0,tf=2,建立主程序,建立主程序chase2.m如下:如下: t,y=ode45(eq2,02,00);t,y=ode45(eq2,02,00);Y=0:0.01:2;Y=0:0.01:2;plot(1,Y,-)plot(1,Y,-)holdon;holdon;plot(y(:,1),y(:

14、,2),*)plot(y(:,1),y(:,2),*)5. 结果见图结果见图1导弹大致在(导弹大致在(1,0.2)处击中乙舰,与前面的结论一致)处击中乙舰,与前面的结论一致.图图1图图2 在在chase2.m中,按二分法逐步修改中,按二分法逐步修改tf,即分别取,即分别取tf=1,0.5,0.25,直到直到tf=0.21时,得图时,得图2.结论:时刻结论:时刻t=0.21时,导弹在(时,导弹在(1,0.21)处击中乙舰)处击中乙舰.4、上、上 机机 作作 业业 (三)(三)3. 鱼雷追击问题鱼雷追击问题 一敌舰在某海域内沿着正北方向航行时,我方战舰恰好位于一敌舰在某海域内沿着正北方向航行时,我

15、方战舰恰好位于敌舰的正西方向敌舰的正西方向1 公里处我舰向敌舰发射制导鱼雷,敌舰速度公里处我舰向敌舰发射制导鱼雷,敌舰速度为为0.42 公里公里/分,鱼雷速度为敌舰速度的分,鱼雷速度为敌舰速度的2倍。试问敌舰航行多远倍。试问敌舰航行多远时将被击中?时将被击中?1. 求微分方程求微分方程 ,在初值条件,在初值条件 下的下的特解,并画出解函数的图形特解,并画出解函数的图形.4. 一个慢跑者在平面上沿椭圆以恒定的速率一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步跑步,设设椭圆方程为椭圆方程为: x=10+20cost, y=20+5sint. 突然有一只狗突然有一只狗攻击他攻击他. 这只狗从原点出发这只狗从原点出发,以恒定速率以恒定速率w跑向慢跑者跑向慢跑者,狗狗的运动方向始终指向慢跑者的运动方向始终指向慢跑者.分别求出分别求出w=20,w=5时狗的运时狗的运动轨迹动轨迹. ( 选作选作 )(慢跑者与狗)(慢跑者与狗)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号