Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

条件子系统初始输出值

要初始化某条件子系统的输出值,请使用以下方法之一初始化该子系统中的 Outport 模块:

  • 从连接到 Outport 模块的输入信号继承初始输出值。

  • 使用 Outport 模块参数指定初始输出值。

注意

如果条件子系统驱动的是同一模型中的 Merge 模块,则不需要为该子系统的 Outport 模块指定初始条件。

继承输入信号的初始输出值

Simulink® 尝试使用连接到条件子系统 Outport 模块的输入信号来初始化输出值。在将 Outport 模块参数 Source of initial output value 设置为 “Input signal” 后,会出现此行为。当 Source of initial output value 设置为 “Dialog” 并且 Initial output 设置为 “[]” 时,会出现相同的行为。

用于设置初始输出值的有效输入信号包括:

  • 来自另一个条件执行子系统的输出端口。

  • 来自 Model 模块(其中 Trigger 模块设置为函数调用)的输出端口。

  • Merge 模块。

  • Constant 模块。

  • IC(初始条件)模块。

  • 通过信号线连接到 Outport 模块的 Simulink 信号对象。如果定义了 InitialValue 参数,Simulink 将使用此值。

  • Stateflow® 图。

如果输入信号来自此处未列出的模块,则 Outport 模块使用输出数据类型的默认初始值。

当条件子系统的 Outport 模块继承其初始输出值时,在模型更新或运行后,Outport 模块旁边会显示 IC 标记。

triggered subsystem connected to Outport block, with IC badge next to block

您还可以使用 Simulink.getOutportInheritsInitialValue 函数来确定条件子系统的 Outport 模块是否继承其初始输出值。

注意

如果使用经典初始化模式,则选择 “Input signal” 将导致错误。要从输入信号继承初始输出值,请将 Source of initial output value 参数设置为 “Dialog”,将 Output when disabled 设置为 “held”,并将 Initial output 设置为空矩阵 []IC 标记在经典初始化模式下不显示。请参阅Classic Initialization Mode

使用对话框参数指定初始输出值

在您要执行以下操作的情况下显式设置初始输出值:

  • 用各种初始值测试模型的行为。

  • 将初始值设置为稳定状态并减少仿真时间。

  • 省去通过跟踪输入信号确定初始输出值的必要。

要指定初始输出值,请执行下列操作:

  1. 打开条件子系统中 Outport 模块的对话框。

  2. Source of initial output value 列表中,选择 “Dialog”。

  3. Initial output 框中,输入初始值。

相关主题