QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2085|回复: 0
打印 上一主题 下一主题

求解器Solver与方程组的关系

[复制链接]
字体大小: 正常 放大

413

主题

36

听众

1854

积分

升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2015-8-20 21:52 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    2求解器Solver与方程组的关系表见表2-3

    2-3

    函数指令
      
      
       
    求解器
      
    Solver
    ode23
    普通2-3阶法解ODE
    odefile
    包含ODE的文件
    ode23s
    低阶法解刚性ODE
    选项
    odeset
    创建、更改Solver选项
    ode23t
    解适度刚性ODE
    odeget
    读取Solver的设置值
    ode23tb
    低阶法解刚性ODE
    输出
    odeplot
    ODE的时间序列图
    ode45
    普通4-5阶法解ODE
    odephas2
    ODE的二维相平面图
    ode15s
    变阶法解刚性ODE
    odephas3
    ODE的三维相平面图
    ode113
    普通变阶法解ODE
    odeprint
    在命令窗口输出结果

    3.因为没有一种算法可以有效地解决所有的ODE问题,为此,MATLAB提供了多种求解器Solver,对于不同的ODE问题,采用不同的Solver

    2-4  不同求解器Solver的特点

    求解器Solver
    ODE类型
    特点
    说明
    ode45
    非刚性
    一步算法;45Runge-Kutta方程;累计截断误差达(x)3
    大部分场合的首选算法
    ode23
    非刚性
    一步算法;23Runge-Kutta方程;累计截断误差达(x)3
    使用于精度较低的情形
    ode113
    非刚性
    多步法;Adams算法;高低精度均可到10-310-6
    计算时间比ode45
    ode23t
    适度刚性
    采用梯形算法
    适度刚性情形
    ode15s
    刚性
    多步法;Gear’s反向数值微分;精度中等
    ode45失效时,可尝试使用
    ode23s
    刚性
    一步法;2Rosebrock算法;低精度
    当精度较低时,计算时间比ode15s
    ode23tb
    刚性
    梯形算法;低精度
    当精度较低时,计算时间比ode15s

    4.在计算过程中,用户可以对求解指令solver中的具体执行参数进行设置(如绝对误差、相对误差、步长等)。

    2-5  Solveroptions的属性

    属性名
    取值
    含义
    AbsTol
    有效值:正实数或向量
      
    缺省值:1e-6
    绝对误差对应于解向量中的所有元素;向量则分别对应于解向量中的每一分量
    RelTol
    有效值:正实数
      
    缺省值:1e-3
    相对误差对应于解向量中的所有元素。在每步(k)计算过程中,误差估计为:
      
    e(k)<=max(RelTol*abs(y(k)),AbsTol(k))
    NormControl
    有效值:onoff
      
    缺省值:off
    为‘on’时,控制解向量范数的相对误差,使每步计算中,满足:norm(e)<=max(RelTol*norm(y),AbsTol)
    Events
    有效值:onoff
    为‘on’时,返回相应的事件记录
    OutputFcn
    有效值:odeplotodephas2odephas3odeprint
      
    缺省值:odeplot
    若无输出参量,则solver将执行下面操作之一:
      
    画出解向量中各元素随时间的变化;
      
    画出解向量中前两个分量构成的相平面图;
      
    画出解向量中前三个分量构成的三维相空间图;
      
    随计算过程,显示解向量
    OutputSel
    有效值:正整数向量
      
    缺省值:[]
    若不使用缺省设置,则OutputFcn所表现的是那些正整数指定的解向量中的分量的曲线或数据。若为缺省值时,则缺省地按上面情形进行操作
    Refine
    有效值:正整数k>1
      
    缺省值:k = 1
    k>1,则增加每个积分步中的数据点记录,使解曲线更加的光滑
    Jacobian
    有效值:onoff
      
    缺省值:off
    若为‘on’时,返回相应的ode函数的Jacobi矩阵
    Jpattern
    有效值:onoff
      
    缺省值:off
    为‘on’时,返回相应的ode函数的稀疏Jacobi矩阵
    Mass
    有效值:noneM
      
    M(t)M(t,y)
      
    缺省值:none
    M:不随时间变化的常数矩阵
      
    M(t):随时间变化的矩阵
      
    M(t,y):随时间、地点变化的矩阵
    MaxStep
    有效值:正实数
      
    缺省值:tspans/10
    最大积分步长

    2-45  求解描述振荡器的经典的Ver der Pol微分方程file:///C:/Users/lx/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png

    y(0)=1y’(0)=0

    x1=yx2=dy/dx,则

    dx1/dt = x2

    dx2/dt = μ(1-x2)-x1

    编写函数文件verderpol.m

    function xprime = verderpol(t,x)

    global MU

    xprime = [x(2);MU*(1-x(1)^2)*x(2)-x(1)];

    再在命令窗口中执行:

    >>global MU

    >>MU = 7;

    >>Y0=[1;0]

    >>[t,x] = ode45(‘verderpol’,0,40,Y0);

    >>x1=x(:,1);x2=x(:,2);

    >>plot(t,x1,t,x2)

    图形结果为图2-20


    2-20  Ver der Pol微分方程图


    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学中国版主团队!
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-28 23:39 , Processed in 0.331670 second(s), 54 queries .

    回顶部