matlab中的微分方程

matlab中的微分方程

ID:36315453

大小:333.31 KB

页数:20页

时间:2019-05-09

matlab中的微分方程_第1页
matlab中的微分方程_第2页
matlab中的微分方程_第3页
matlab中的微分方程_第4页
matlab中的微分方程_第5页
资源描述:

《matlab中的微分方程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、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'):输入利用符号方程表示的微分方程eq

2、n,而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

3、-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]=od

4、e45(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失效时,可尝试使用其

5、解决问题,Gear’s反向数值积分,精度中等;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,...

6、来设定.常用控制参数主要有:①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=inl

7、ine('-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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。