matlab中的 微分方程.ppt_第1页
matlab中的 微分方程.ppt_第2页
matlab中的 微分方程.ppt_第3页
matlab中的 微分方程.ppt_第4页
matlab中的 微分方程.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.5微分方程,2.5.1常微分方程的符号解,Maltlab提供了求解线性常微分方程函数r=dsolve(eq1,eq2,.,cond1,cond2,.,v),可以有以下几种调用格式:1)r=dsolve(eqn,v):输入利用符号方程表示的微分方程eqn,v为自变量,系统缺省的自变量为t,返回方程通解;2)r=dsolve(eq1,eq2,.,v):输入量eq1,eq2,.为利用符号方程表示的常微分方程组,其它同1);3)r=dsolve(eq1,cond1,cond2,.,v):输入利用符号方程表示的微分方程eqn,而cond1,cond2,.表示初始条件;,4)r=dsolve(eq1,eq2,.,cond1,cond2,.,v):输入量eq1,eq2,.为利用符号方程表示的常微分方程组,而cond1,cond2,.表示初始条件.注意:在调用此函数之前,必须首先将给定的常微分方程或方程组中的一阶导数用D表示,如写成Dy,写成Dny.,解:1)Y,Z=dsolve(Dy=3*y-2*z,Dz=2*y-z,x)2)本题是同济大学数学教研室编写的高等数学中的例题,书中没有给出明确的通解表达式,X,Y=dsolve(D2y+Dy-x=exp(t),D2y+Dx+y=0),2.5.2常微分方程的数值解,1、在求常微分方程数值解方面,MATLAB具有丰富的函数,我们将其统称为solver,其一般格式为:T,Y=solver(odefun,tspan,y0)该函数表示在区间tspan=t0,tf上,用初始条件y0求解显式常微分方程,其中odefun为显式常微分方程中的;tspan为求解区间,要获得问题在其他指定点上的解,则令(要求ti单调)、y0初始条件.Solver可取命令ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb等.,1)T,Y=ode45(odefun,tspan,y0):大部分场合的首选算法,一步算法,4,5阶Runge-Kutta方法累积截断误差;2)T,Y=ode23(odefun,tspan,y0):适用于精度较低的情形,一步算法,2,3阶Runge-Kutta方法累积截断误差;3)T,Y=ode113(odefun,tspan,y0):计算速度较快,多步算法,Adams算法,高低精度均可达到;4)T,Y=ode23t(odefun,tspan,y0):采用梯形算法,适度刚性方程情形;5)T,Y=ode15s(odefun,tspan,y0):若ode45失效时,可尝试使用其解决问题,Gears反向数值积分,精度中等;,6)T,Y=ode23s(odefun,tspan,y0):一步法,2阶Rosebrock算法,低精度.2、在求解过程中有时需要对求解算法和控制条件进行进一步设置,这是可以通过求解过程中的options变量进行修改,初始options变量可以通过odeset()获取,该函数为创建或改写ODE选项构架参数值.1)options=odeset(name1,value1,name2,value2,.)创建ODE选项构架参数值,控制参数name1,name2,.的属性值通过value1,value2,.来设定.常用控制参数主要有:RelTol:为相对容许上限,默认0.001;AbsTol:为一个向量,其分量表示每个状态变量允许的绝对误差,其默认值为10-6;,MaxStep:为求解方程最大允许的步长;Mass:微分代数方程中的质量矩阵,可用于描述微分代数方程;2)options=odeset(oldopts,name1,value1,.)改写现有oldopts的options结构体;3)options=odeset(oldopts,newopts)通过与新newopts的options结构体合并,改写现有oldopts的options结构体.,fun=inline(-2*y+2*x*x+2*x);x,y=ode23(fun,0,0.5,1),解:首先建立名为rigid.M的函数functiondy=rigid(t,y)dy=zeros(3,1);%acolumnvectordy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);由已知得初始条件向量011,设置允许误差分别为10-410-510-6,相对容许上限10-4,然后在窗口中输入:options=odeset(RelTol,1e-4,AbsTol,1e-41e-41e-5);T,Y=ode45(rigid,012,011,options)plot(T,Y(:,1),-,T,Y(:,2),-.,T,Y(:,3),.);,首先建立vdp1.M文件:functiondydt=vdp1(t,y)dydt=y(2);(1-y(1)2)*y(2)-y(1);然后建立M文件,并运行:t,y=ode45(vdp1,020,2;0);plot(t,y(:,1),-,t,y(:,2),-)title(SolutionofvanderPolEquation,mu=1);xlabel(timet);ylabel(solutiony);legend(y_1,y_2),2.5.3偏微分方程的解法及应用,使用GUI求解偏微分方程的一般步骤是:1、区域设置2、设置边界条件3、设置方程类型4、网格剖分5、初值和误差的设置6、数值解的输出7、解的图形,使用程序常用命令有:1、g=circleg%调用几何体函数circleg.m2、b=circleb1%调用边界条件函数circleb.m3、u=assempde(b,p,e,t,c,a,f)%解偏微分方程4、pet=initmesh(h)%对几何区域进行初始网格剖分5、pdemesh(p,e,t,u)%绘制PDE的三角形网格图6、pdesurf(p,t,u)%绘制PDE的表面图,解决这个问题可以通过使用图形用户界面(GraphicalUserInterface,简记为GUI),则可通过在命令窗口键入pdetool,回车后出现PDEToolbox窗口.然后通过一系列按钮你输入命令的方式完成,这里只给出Matlab程序求解PDE问题的方法.,输入命令为:g=circleg;h=hmax;%调用已有函数p,e,t=initmesh(g,h,1);%对几何区域进行初始网格err=1;whileerr0.001,p,e,t=refinemesh(g,p,e,t);%加密网格b=circleb1;%调用已有函数u=assempde(b,p,e,t,1,0,1);%解偏微分方程exact=(1-p(1,:).2-p(2,:).2)/4;%给出精确解err=norm(u-exact,inf);endpdemesh(p,e,t)%绘制网格图figure,pdesurf(p,t,u)%新开窗口,绘制方程解的曲面图figure,pdesurf(p,t,u-exact)%新开窗口,绘制误差图,2.5.4传染病传播问题,1、求导函数diff;2、绘图函数plot;3、微分方程求解函数dsolve、ode45等.,2.5.5人口增长的预测,1、拟合函数polyfitpolyfit(x,y,n):x,y为要拟合的数据,n为希望最佳拟合数据的多项式的次数.如果我们选择n=1,得到最简单的线性近似,通常称为线性回归.如果我们选择n=2作为阶次,得到一个2阶多项式.返回值为多项式的系数,高次在前,低次在后.2、多项式函数的预测值polyvalY=polyval(p,x):求polyfit所得的多项式在x处的预测值Y.p是polyfit函数的返回值,x和polyfit函数的x值相同.3、函数插值interp1、interp2、interp31)一维插值:interp1(x,y,cx,method),此函数对于数据分析和曲线拟合都是很重要的.它应用多项式技术用多项式函数拟合提供的已知数据,通过已知的点求出一个适当的函数,并提供理想的插值点.其中y为包含函,数值的矢量,x是与y长度相同的矢量,包含与y相对应的取值.矢量cx包含用于插值的点.第四个参数method用于指定插值方法,主要包括:邻近插值(nearest)、线性插值(linear)、样条插值(spline)、立方插值(cubic).,2)二维插值interp2(X,Y,Z,X1,Y1,method),Z为包含二维函数值的数组;数组X与Y具有相同的大小,为对应于Z的取值的自变量组成的数组;X1与Y1为用于插值的数组;参数method用于指定插值方法,主要包括:邻近插值(nearest)、双线性插值(linear)、二重三次方插值(cubic).3)三维插值interp3(X,Y,Z,V,X1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论