初始化信号和离散状态
关于初始化
请注意
初始化信息总线信号,看到为总线信号指定初始条件。
金宝app®允许您指定的初始值和离散信号,即。,信号和离散状态的值开始时间的模拟。可以使用信号对象指定初始值的任何信号或离散状态模型。此外,对于一些块,例如,外港,数据存储内存,或内存,您可以使用一个信号对象或一块参数或双方指定的初始值一块状态或输出。在这种情况下,模型检查,以确保金宝app信号对象和参数所指定的值是一致的。
当你指定一个信号信号或离散状态初始化对象,或一个变量作为一块参数的值,仿真软件解决了名字你指定一个合适的对象或变量,描述金宝app符号解析。
给定信号最多只能被关联到一个信号对象在任何情况下。信号可以引用对象不止一次,但每个引用都必须解决完全相同的对象。一个不同的信号对象完全相同的性能不能满足要求的独特性。编译时错误发生,如果一个模型将多个信号对象与任何信号。有关更多信息,请参见金宝appSimulink.Signal
和合并块。
使用块参数初始化信号和离散状态
块有一个初始值或初始条件参数,您可以使用这个参数来初始化一个信号。例如,下面的块参数对话框初始化单元的信号延迟块的初始条件0。
要访问这些块参数,选择其中一个技术:
使用的模型数据编辑器(建模选项卡上,单击模型数据编辑器)。使用这种技术来配置多个信号和状态搜索,排序表。初始化块状态或数据存储,您可以使用适当的选项卡(州或数据存储)。初始化一个信号、状态或数据存储,您可以使用参数选项卡并找到对应相关的行块参数。
关于模型数据编辑器的更多信息,请参阅通过使用模型数据编辑器配置数据属性。
使用属性检查器(建模选项卡,在设计,点击属性检查器)。使用这种技术来配置一个信号或状态。选择维护目标状态的块或生成目标信号,找到相关的块参数。
使用块参数对话框。使用这种技术来配置一个信号或状态或比较几个信号或状态的配置。
关于技术访问块参数的更多信息(包括控制信号的参数和状态初始化),看到的设置属性和参数。
使用信号对象初始化信号和离散状态
您可以使用信号以外的存储类的对象“汽车”
或者,当你设定的默认存储类相应的数据类别默认的
(默认设置)代码映射编辑器,“模型默认”
初始化:
离散状态的初始条件参数
信号模型中除了总线信号和块输出恒定值
指定一个初始值,使用Model Explorer或MATLAB®下面的命令:
创建信号对象。
在Model Explorer工具栏,选择添加>金宝app仿真软件的信号。信号对象出现在工作区底部缺省名称。重命名对象
S1
。另外,使用这个命令在命令提示符:S1 = 金宝appSimulink.Signal;
信号对象的名称必须相同的名称的信号对象初始化。虽然不是必需的,但是考虑设置信号仿真软件名称必须决心信号对象金宝app选择在信号属性对话框。这个设置使信号MATLAB工作区中的对象符合信号出现在您的模型中。
考虑使用向导来创建信号对象的数据对象。数据对象向导搜索信号,信号的模型对象不存在。然后您可以选择性地创建信号对象为多个信号搜索结果中列出的单个操作。有关数据对象向导的更多信息,请参阅创建数据对象模型使用数据对象向导。
设置信号对象存储类以外的一个值
汽车
或模型的默认
。在模型浏览器中内容窗格中,选择信号对象。在对话框中窗格中,集存储类来ExportedGlobal
。另外,使用这个命令在命令提示符:S1.CoderInfo。StorageClass =“ExportedGlobal”;
设置初始值。您可以指定一个MATLAB表达式,包括工作空间变量的名称,评估数字标量值或数组。
仿真软件金宝app引擎将初始值类型,复杂性,和尺寸符合相应的参数值。如果你指定一个无效的值或表达式,则会出现一条错误消息,当你更新模型。
在Model Explorer对话框窗格中,集初始值来
0.5
。另外,使用这个命令在命令提示符:S1.InitialValue=“0.5”
如果你也可以用一块参数设置的初始值信号或状态,你应该设置参数要么为空(
[]
)或相同的值作为初始值信号的对象。如果你设置参数值为空,仿真软件使用指定的值的信号对象初始化信号或状态。金宝app如果将参数设置为其它值,模型比较了参数值信号对象的值,并显示一个错误,如果他们是不同的。金宝app
一些初始值设置可能取决于初始化模式。有关更多信息,请参见未指定初始化检测。
经典的初始化模式:在这种模式下,初始值设置对象代表以下信号和状态信号覆盖相应的块如果未定义(指定为参数的初始值[]
):
有条件地执行子系统的输出信号和合并块
阻塞状态
简化初始化模式:在这种模式下,初始值的信号对象与下面的输出块将被忽略。使用相应的块的初始值。
有条件地执行子系统的输出信号
合并模块
使用信号对象来优化初始值
金宝app仿真软件允许您使用信号对象作为替代参数对象(见金宝appSimulink.Parameter
)调整块输出和状态的初始值,可以通过一个可调参数来指定。使用一个信号对象调整一个初始值,创建一个信号对象名称相同的信号或状态和信号对象初始值设置为一个表达式,包括MATLAB工作区中定义的一个变量。然后您可以优化初始值通过改变相应的工作空间变量的值在模拟。
例如,假设你想优化的初始值内存块国家命名M1
。为此,您可以创建一个信号对象命名M1
,设置它的存储类“ExportedGlobal”
,设置它的初始值K
(M1.InitialValue =“K”
),K
是一个工作空间变量的MATLAB工作区,并设置相应的初始条件参数内存块[]
为了避免一致性错误。你可以改变的初始值内存块状态仿真期间任何时间通过改变的价值K
在MATLAB命令行和更新框图(例如,通过输入Ctrl + D)。
示例:使用对象来初始化一个子系统输出一个信号
下面的示例显示了一个对象指定的初始输出一个信号使子系统。
信号年代
被初始化为0。4.5。为了避免一致性错误,使子系统的初始值外港块必须[]
或4.5。
如果你需要一个信号对象及其初始值设置跨模型会话持久化,明白了金宝app创建持久数据对象。
初始化信号对象的行为总结
下面的模型和表显示不同类型的信号和离散状态,您可以初始化和仿真结果的行为。
信号或离散状态 | 描述 | 行为 |
---|---|---|
S1 | 根输入端口 |
|
X1 | 单位延迟块,块的离散状态有一个初始条件 |
|
X2 | 数据存储内存块 |
|
S2 | 一个使子系统的输出 |
|
S3 | 持续的信号 |
|