Main Content

odeget

提取 ODE 选项值

说明

示例

v = odeget(options,'Name')options(包含选项值的结构体)中提取指定选项的值。使用 odeset 创建或更新 options 结构体。

示例

如果指定选项的值没有在 options 中指定,v = odeget(options,'Name',default) 将返回值 v = default

示例

全部折叠

使用 odeset 创建一个 options 结构体,其中包含几个不同选项的值。

M = @(t) [t 0; 0 -t];
options = odeset('RelTol',1e-4,'AbsTol',1e-5,'OutputFcn',@odephas2,...
    'Mass',M,'MassSingular','no','MStateDependence','none')
options = struct with fields:
              AbsTol: 1.0000e-05
                 BDF: []
              Events: []
         InitialStep: []
            Jacobian: []
           JConstant: []
            JPattern: []
                Mass: @(t)[t,0;0,-t]
        MassSingular: 'no'
            MaxOrder: []
             MaxStep: []
         NonNegative: []
         NormControl: []
           OutputFcn: @odephas2
           OutputSel: []
              Refine: []
              RelTol: 1.0000e-04
               Stats: []
          Vectorized: []
    MStateDependence: 'none'
           MvPattern: []
        InitialSlope: []

使用 odeget 从 options 结构体中提取 OutputFcn 字段的值。

v = odeget(options,'OutputFcn')
v = function_handle with value:
    @odephas2

现在提取 Refine 字段的值。由于未设置此字段,odeget 返回空矩阵 []

v = odeget(options,'Refine')
v =

     []

您可以为 odeget 指定第三个输入,以更改默认返回值。这样可以确保 v 永远非空。

v = odeget(options,'Refine',1)
v = 1

输入参数

全部折叠

Options 结构体。使用 odeset 创建或修改 options 结构体。

示例: options = odeset('RelTol',1e-4,'AbsTol',1e-5) 返回指定了相对和绝对误差容限值的 options 结构体。

数据类型: struct

选项名称,指定为 odeset 接受的任何有效选项:

  • 误差控制 - 'AbsTol''RelTol''NormControl'

  • 输出控制 - 'NonNegative''OutputFcn''OutputSel''Refine''Stats'

  • 求解器步长 - 'InitialStep''MaxStep'

  • 事件函数 - 'Events'

  • 雅可比矩阵 - 'Jacobian''JPattern''Vectorized'

  • 质量矩阵 - 'Mass''MStateDependence''MvPattern''MassSingular''InitialSlope'

  • ode15sode15i 的算法选项 - 'MaxOrder''BDF'

示例: v = odeget(options,'AbsTol')

数据类型: char | string

默认返回值,指定为任何有效的 MATLAB 对象。

示例: 如果 options 不包含为 AbsTol 设置的值,v = odeget(options,'AbsTol',1e-6) 将返回 1e-6

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | struct | table | cell | function_handle | categorical

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2006a 之前推出