常微分方程数值解与matlab.ppt
《常微分方程数值解与matlab.ppt》由会员分享,可在线阅读,更多相关《常微分方程数值解与matlab.ppt(25页珍藏版)》请在三一办公上搜索。
1、实验4-常微分方程数值解,1.求解常微分方程数值方法介绍(1)一阶微分方程 求方程(1)的数值解,就是计算(精确)解在一系列离散点 的近似值.通常取相等的步长h,于是xn=x0+nh(n=1,2,).(a)欧拉方法基本思想是在小区间xn,xn+1上用差商 代替方程(1)左端的导数 而方程右端函数f(x,y(x)中的x取xn,xn+1上得某一点,公式为(2),实验4-常微分方程数值解,(b)Runge-Kutta方法基本思想是用小区间xn,xn+1上的若干个点的导数的线性组合代替方程(2)右端的,一般形式为(3)满足 并使(3)的局部截断误差-L级p阶Runge-Kutta公式,实验4-常微分方
2、程数值解,(2)常微分方程组和高阶方程的数值方法 欧拉方法和Runge-Kutta方法可直接推广到求常微分方程组,如对欧拉公式为Runge-Kutta公式有类似的形式.对高阶方程(5)需先降阶化为一阶常微分方程组,降阶方法不唯一.简单、常用的方法是令y1=y,将(5)化为,实验4-常微分方程数值解,2.Runge-Kutta方法的MatLab实现 对微分方程(组)的初值问题Runge-Kutta方法用MatLab命令实现:t,x=ode23(f,ts,x0,options)%用3级2阶Runge-Kutta公式t,x=ode45(f,ts,x0,options)%用5级4阶Runge-Kutt
3、a公式命令的输入f是待解方程写成的函数M文件:function dx=f(t,x)Dx=f1;f2;fn;,实验4-常微分方程数值解,2.Runge-Kutta方法的MatLab实现举例:仿真模拟著名的Lorenz系统混沌图其中,先建立一个函数M文件 function xdot=lorenz(t,x)sigma=10;r=28;row=8/3;xdot=-sigma*x(1)+sigma*x(2);(r-x(3)*x(1)-x(2);x(1)*x(2)-row*x(3);,实验4-常微分方程数值解,2.Runge-Kutta方法的MatLab实现画出Lorenz系统图clear all;clf
4、;options=odeset(RelTol,1e-5,AbsTol,1e-5);tspan=0,100;x0=1,2,3;t,x=ode45(lorenz,tspan,x0,options);l=length(x(:,1);a=1;b=l;figure(1)plot3(x(a:b,3),x(a:b,1),x(a:b,2),b);grid on;%画出三维相图xlabel(z);ylabel(x);zlabel(y);figure(2)subplot(311);plot(t,x(a:b,1);%画三分量演化图subplot(312);plot(t,x(a:b,2)subplot(313);pl
5、ot(t,x(a:b,3),实验4-常微分方程数值解,2.Runge-Kutta方法的MatLab实现作业报告:著名的Duffing系统(描述弹簧系统性质)其中类似的,分别画出F=1,2,3,4,6等时的相图翻阅一些参考书,你能得到一些什么结论?,实验4-常微分方程数值解,3.实例问题 缉私艇追击走私船 海上边防缉私艇发现距d公里处有一走私船正以匀速a沿直线行驶,缉私艇立即以最大匀速度v追赶,在雷达的引导下,缉私艇的方向始终指向走私船.问缉私艇何时追赶上走私船?并求出缉私艇追赶的路线.,S,(1)建立模型,走私船初始位置在点(S0,0),行驶方向为x轴正方向,缉私艇的初始位置在点(0,M0),
6、在时刻t:走私船的位置到达点:(S0+at,0)缉私艇到达点M(x,y),S,(2)模型求解(a)求解析解,令:,令:,(2)模型求解,(a)求解析解,当y=0 时:,走私船a=0.4千米/秒,分别取v=0.6,0.8,1.0千米/秒时,缉私艇追赶路线的图形。,clear all;clf;a=0.4;v=0.6 0.8 1.0;%取不同的速度r=0.4./v;t=20*r./(a*(1-r.2)%追上的时间 for i=1:3y=20:-0.01:0;x(:,i)=-0.5*(-40*r(i)+20(-r(i)*(r(i)-1)*y.(1+r(i)+20r(i)*(r(i)+1)*y.(1-r
7、(i)/(1-r(i)2);plot(x(:,i),y);axis(0 30 0 20);hold onend,追赶时间分别为:T=60.0000,33.3333,23.8095(秒),2),当,时,,缉私艇不可能追赶上走私船。,3),,,,,当,时,,,,缉私艇不可能追赶上走私船。,(b)用MATLAB软件求解析解,MATLAB软件5.3以上版本提供的解常微分方程解析解的指令是Dsolve,完整的调用格式是:dsolve(eqn1,eqn2,.)其中eqn1,eqn2,.是输入宗量,包括三部分:微分方程、初始条件、指定变量,若不指定变量,则默认小写字母t为独立变量.书P-69,微分方程的书写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 数值 matlab
链接地址:https://www.31ppt.com/p-6570777.html