您好,欢迎访问三七文档
Matlab基础及应用——微分方程张江北京师范大学管理学院系统科学系今日内容北京师范大学管理学院系统科学系张江MATLAB基础及应用•微分方程–降落伞问题–Dsolve进行数学求解•微分方程组–lotka-volterra方程组–利用ode23命令进行数值求解–将高阶微分方程化为微分方程组降落伞模型北京师范大学管理学院系统科学系张江MATLAB基础及应用•设人+降落伞的总重量为m=200kg,•下落过程中受到的阻力f=bv,其中v为降落伞的速度,b为一个常数b=196N.s/m•设降落伞从1000m的高空落下•求下落位置和时间t的关系,经过多少时间到达地面?下落过程中的最大速度多少?降落伞模型北京师范大学管理学院系统科学系张江MATLAB基础及应用mgf=bvmabvmgdttdvmtbvmg)()(0)()(mgtbvdttdvm完整的数学模型北京师范大学管理学院系统科学系张江MATLAB基础及应用mgf=bv0)0(0)()(vmgtbvdttdvm微分方程北京师范大学管理学院系统科学系张江MATLAB基础及应用•含有未知函数,及其未知函数导数的方程称为微分方程•根据未知函数中所含变元的个数可以把微分方程分为:–常微分方程–偏微分方程•微分方程与微分方程组–含有多个未知函数的方程组为微分方程组Matlab中求解微分方程的命令北京师范大学管理学院系统科学系张江MATLAB基础及应用•[y1,y2,…,y12]=dsolve('eq1','eq2',...,'cond1','cond2',...,'v')–输入有3个部分:–符号化的微分方程,符号化的初始条件,要求解的自变量(默认为t)–如果没有初始条件,则返回的函数中将包含常数C1,C2,…Matlab求解北京师范大学管理学院系统科学系张江MATLAB基础及应用v=dsolve('200*Dv+196*v-200*9.8=0','v(0)=0','t')ezplot(v,[0,100]);求解最大速度北京师范大学管理学院系统科学系张江MATLAB基础及应用symst;vmax=limit(v,t,inf)•观察v(t)的图形发现,v存在一个渐进的最大值,利用极限的方法来求该最大值求解距离函数x(t)北京师范大学管理学院系统科学系张江MATLAB基础及应用x=int(v,0,t)figure;ezplot(x,[0,100]);•对v(t)的积分,得到距离函数x(t)求解距离函数x(t)北京师范大学管理学院系统科学系张江MATLAB基础及应用eqn=strcat(char(x),'-1000');fzero(inline(eqn),100)•通过求解方程x(t)=1000,得到下落的时间t*求解下列方程北京师范大学管理学院系统科学系张江MATLAB基础及应用y=dsolve(‘D2y+y=1-t^2’)2221tydtyd用dsolve求解微分方程组北京师范大学管理学院系统科学系张江MATLAB基础及应用求解下列方程组uvdsdvvudsdu223[uv]=dsolve('Du=3*u-2*v,Dv=2*u-v')练习1北京师范大学管理学院系统科学系张江MATLAB基础及应用弹簧振子m物块质量m=1,弹簧的倔强系数k=1,在光滑的水平面上,初始位移为1cm,初速度为0,求物块的运动方程x0捕食与被捕食者模型北京师范大学管理学院系统科学系张江MATLAB基础及应用•设狼种群在任意时刻的个数为Y(t),兔子种群在任意时刻的个数为X(t)•关于两个未知函数X(t)和Y(t)的方程组XYaXkXYcYpXY捕食与被捕食者模型北京师范大学管理学院系统科学系张江MATLAB基础及应用XYaXkXYcYpXYcYpXYdtdYkXYaXdtdX尝试用dsolve求解北京师范大学管理学院系统科学系张江MATLAB基础及应用XYaXkXYcYpXY20)0(20)0(02.001.0YXYXYdtdYXYXdtdX[xy]=dsolve('Dx=x-0.01*x*y,Dy=0.02*x*y-y','x(0)=20,y(0)=20','t')采用数值方法求解北京师范大学管理学院系统科学系张江MATLAB基础及应用20)0(20)0(02.001.0YXYXYdtdYXYXdtdX[tpp]=ode23('mylotka',[0100],[2020])plot(t,pp);functiondxy=mylotka(t,xy)dxy1=xy(1)-0.01*xy(1)*xy(2);dxy2=0.02*xy(1)*xy(2)-xy(2);dxy=[dxy1;dxy2];end采用数值方法求解北京师范大学管理学院系统科学系张江MATLAB基础及应用•Ode23的应用原理•应用于下列方式的方程:),(XtfdtdX•其中X为一个列向量Ode23中的函数注意事项北京师范大学管理学院系统科学系张江MATLAB基础及应用•函数必须有两个输入变量t和x–t表示每一次迭代的时间–x表示系统的状态变量•函数的输出为计算得到的输出变量–它必须是一个列向量练习2北京师范大学管理学院系统科学系张江MATLAB基础及应用•用ode23方法进行求解5)0(,5)0(12yxtxdtdyydtdx用数值方法求解北京师范大学管理学院系统科学系张江MATLAB基础及应用•用数值方法求解下列方程1)1('',1)1(',0)1(342222333yyyxdxdyxdxydxdxydx用数值方法求解北京师范大学管理学院系统科学系张江MATLAB基础及应用•将其化为多函数的方程组222233334xdxdyxdxydxdxydx令:222321)(,)(),()(dxyddxdyxydxdyxyxyxy•则原方程化为方程组:)()()()(3)(4)(2132223233xydxxdyxydxxdyxxxyxyxdxdyx2132223343ydxdyydxdyxyxyxdxdy用数值方法求解北京师范大学管理学院系统科学系张江MATLAB基础及应用•用ode23方法进行求解1)1(,1)1(,0)1(4332121322233yyyydxdyydxdyxyxyxdxdyh=@(x,y)[y(2);y(3);-y(3)/x+4*y(2)/x^2+3/x];[txyz]=ode23(h,[14],[0-11])plot(t,xyz');练习3北京师范大学管理学院系统科学系张江MATLAB基础及应用•用ode23方法进行求解5)2(',5)2(1222yytydtyd追逐问题北京师范大学管理学院系统科学系张江MATLAB基础及应用•正方形4个顶点上各站有一个人.•在某一时刻,4个人同时出发,以常数速率v0按顺时针方向走向下一人.•如果他们始终保持对准目标,则最终将按照某种类似于螺旋形曲线汇合于中心点O•求出这四个人的运动轨迹O追逐问题北京师范大学管理学院系统科学系张江MATLAB基础及应用Ox1(t),y1(t)x2(t),y2(t)||/)(||/)(121201121201xxxxvdtxdxxxxvv追逐问题北京师范大学管理学院系统科学系张江MATLAB基础及应用O||/)(||/)(||/)(||/)(414104343403232302121201xxxxvdtxdxxxxvdtxdxxxxvdtxdxxxxvdtxd难点北京师范大学管理学院系统科学系张江MATLAB基础及应用||/)(||/)(||/)(||/)(414104343403232302121201xxxxvdtxdxxxxvdtxdxxxxvdtxdxxxxvdtxd其中每一个未知函数xi都是一个二维向量解决方法1:把原方程展开,化成8个方程的方程组运用复数xi=(x,y)xi=x+y*i课后作业北京师范大学管理学院系统科学系张江MATLAB基础及应用•疾病传播的微分方程模型–目前甲型H1N1流感肆虐,试建立传染病流行的微分方程数学模型,对疾病流行情况进行模拟和分析–我们采用SIR模型,即将人群分成三种人:S健康者,I感染者,R治愈者。–假设健康者与感染者接触就会感染流感;–感染者经过一段时间治疗后就变成治愈者–治愈者不再会被感染–我们设健康者、感染者和治愈者在第t天的比例分别是s(t),i(t)和r(t)。–试写出描述s(t),i(t)和r(t)三者变化的微分方程组,并用Matlab求解。–讨论不同参数对方程解的影响
本文标题:68微分方程
链接地址:https://www.777doc.com/doc-3953190 .html