主要内容

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: []
             MinStep: []
         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""MinStep"

  • 事件函数 - "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

数据类型: s | 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 之前推出