主要内容

为总线元素指定初始条件

总线初始化是一种特殊形式的信号初始化。对于一般信息初始化信号,明白了初始化信号和离散状态。初始化数组的公交车的详细信息,请参见初始化数组的公交车

总线初始化指定总线模型元素值金宝app®使用第一执行这一块,使用汽车。默认情况下,一辆公共汽车元素的初始值(由地面的价值0)。总线初始化包括指定非零初始条件。

您可以使用总线初始化功能:

  • 指定初始条件的信号具有不同的数据类型。

  • 不同的初始条件申请总线中的每个元素。

  • 指定初始条件的元素的一个子集巴士没有指定初始条件的所有元素。

  • 使用相同的初始条件为多个模块,信号,或模型。

支持总线初始化的模块金宝app

你可以初始化公共汽车值输入块如果那块满足这两个条件:

  • 有一个初始值或初始条件块参数

  • 金宝app支持公共汽车

这些块支持总线初始化:金宝app

  • 数据存储内存

  • 集成电路

  • 内存

  • 合并

  • 外港(当块在一个有条件地执行上下文)

  • 收到

  • 率转换

  • 单位延迟

例如,单位延迟块是一个bus-capable块。有一个块参数对话框初始条件参数。

你不能初始化一个巴士,有:

  • 适应信号

  • 不定位信号

支持总线初始化设置诊断金宝app

要启用总线初始化,在你开始模拟,设置未指定初始化检测配置参数简化

创建初始条件结构

您可以创建部分或全部初始条件结构代表初始值一辆公共汽车。要创建一个初始条件结构,使用这些方法之一:

  • 定义一个MATLAB®MATLAB基础结构或仿真软件模型的工作区。金宝app您可以手动定义的结构,或者完整的结构,您可以使用金宝appSimulink.Bus.createMATLABstruct函数。

  • 在一个块的参数对话框,支持总线初始化,初始条件参数指定一个表达式,计算结构。金宝app

MATLAB定义结构的信息,请参阅结构数组

你指定一个初始条件结构的字段必须匹配这些数据总线的属性元素是:

  • 的名字

  • 复杂性

举个例子,如果你定义一个总线元素是一个真正的(2 x2)双数组,然后在初始条件结构、总线元素的值来初始化定义为一个真正的(2 x2)数组的两倍。

显式地指定字段的初始条件为每个总线元素有一个枚举结构(枚举)数据类型。

控制结构字段的数据类型

如果任何元素以外的其他目标总线使用数据类型,您可以使用不同的技术来控制字段的数据类型的初始条件结构。您选择的技术,可以影响效率和生成的代码的可读性。看到控制数据类型的字段初始条件结构

创建初始化的完整结构

一个完整的初始条件的结构为每个元素提供一个初始值一辆公共汽车。初始条件的结构反映了总线的总线层次结构,反映了属性元素。

在代码生成指定完整的结构提供了这些优势:

  • 生成更可读的代码

  • 金宝app支持一个显式初始化所有信号的建模风格

使用金宝appSimulink.Bus.createMATLABStruct函数来简化创建一个完整的MATLAB初始条件结构相同层次结构,作为一个总线名称和数据属性。这个函数填充所有的元素,您没有指定这些元素的值。

您可以使用几种不同的输入功能,包括:

  • 一个金宝appSimulink.Bus对象名称

  • 一个端口处理数组

你可以调用的函数式编辑器。选择公共汽车对象你想创建一个完整的MATLAB结构。然后,单击MATLAB结构。例如,看到的数组初始化公共汽车和公交车的使用类型编辑器

检测当结构参数不一致的形状(层次结构和名称)和相关的公共汽车,使用模型的顾问。

  1. 建模选项卡上,单击模型的顾问

  2. 点击好吧

  3. 按照任务>使用公交车信号建模和参数中,选择检查结构参数与总线信号使用

  4. 单击运行这个检查按钮。

    顾问模式识别部分初始条件结构。

在您创建的结构,您可以在MATLAB编辑器中编辑它。

为初始化创建部分结构

部分初始条件结构提供了初始值元素的一个子集的一辆公共汽车。如果你使用部分初始条件结构,在仿真中,仿真软件创建一个完整的初始条件结构来表示所有公共汽车元素。金宝app金宝app仿真软件分配各自的地面价值每个元素的部分初始条件结构不明确赋值。

指定块的部分结构参数值可能是有用的在创建模型的迭代过程。部分结构使您能够专注于总线信号的一个子集。当你使用部分结构,模型隐式初始化未指明的信号。金宝app

当你定义一个局部初始条件结构:

  • 在公共汽车上只包括字段。

  • 省略一个或多个字段的公共汽车。

  • 使初始条件的字段结构对应于公共汽车元素的嵌套级别。

  • 在相同的嵌套在总线结构和水平,选择指定字段顺序不同总线结构元素。

请注意

初始条件的价值结构必须位于设计相应的总线元素的最小值和最大值范围。金宝app仿真软件执行这个范围检查当你更新图或模拟模型。

假设您有一个公共汽车,由三个元素:一个,B,C,但有这些特征:

  • 一个是一个嵌套的总线,两个信号元素。

  • B是一个信号。

  • C是一个嵌套的总线,包括公共汽车一个作为一个嵌套的公共汽车。

ex_bus_initial_conditions模型包括公共汽车。

公交创造者块ex_bus_initial_conditions创建嵌套公共汽车和公共汽车。

这是一个总结的总线的层次结构和数据类型、尺寸和复杂性总线的元素。

前一个(sub1) A1 (double) A2 (int8 5 x1,复杂)B (double) C (sub2) C1 (int16) C2 (sub1) A1 (double) A2 (int8 5 x1,复杂)

在这些例子中,K指定一个初始条件结构的初始值单位延迟块。对应于初始条件结构公共汽车的ex_bus_initial_conditions模型。这里有一些有效的初始条件的规范。

有效的语法 描述
·一个1 = 3

总线初始化元素Top.A.A1使用价值3

K =结构(“C”、结构(C1, int16 (4)))

公共汽车元素Top.C.C1int16。相应的结构域显式地指定int16 (4)。此外,您可以指定字段值4没有指定显式数据类型。

K =结构(' B ' 3 ' ',结构(“A1”, 4))

总线的元素Top.BTop.A在公共汽车上都处于同一嵌套级。为总线元素嵌套级,对应的结构字段的顺序无关紧要。

无效的部分初始条件结构

在下面的例子中,K指定一个初始条件结构的初始值单位延迟块。对应于初始条件结构公共汽车的ex_bus_initial_conditions模型。

这三个初始条件规范有效:

无效的语法 原因,语法是无效的
K.A.A2= 3

价值维度和复杂性不匹配。公共汽车元素Top.A.A25 x1,但K.A.A21 x1;Top.A.A2是复杂的,但K.A.A2是真实的。

kcC2 = 3

你不能用一个标量值初始化初始条件子结构。

K =结构(' B ' 3 ' X ', 4)

你不能指定字段的总线(X在公共汽车上不存在)。

公交车使用块进行初始化参数

初始化一个总线通过设置初始条件参数块接收总线作为输入,并支持总线初始化(见金宝app支持总线初始化的模块金宝app)。

例如,块的参数对话框单位延迟块有一个初始条件参数。

单位延迟块的参数对话框

对于一块支持总线初始化,可以取代的金宝app默认值0使用这些方法之一:

所有三种方法要求您定义一个初始条件(见结构创建初始条件结构)。你不能指定一个非零的标量值或以外的任何其他类型的值0,一个初始条件结构,或金宝appSimulink.Parameter对象初始化一辆公共汽车。

定义一个初始条件结构作为一个MATLAB变量,而不是直接指定初始条件结构在块参数对话框中提供了许多优点,包括:

  • 多个块的初始条件结构的重用

  • 使用初始条件结构的可调参数生成的代码

MATLAB结构初始化

你可以初始化使用MATLAB的总线结构,显式地定义了公共汽车的初始条件。

例如,在初始条件参数的单位延迟块,你可以输入一个结构。

单位延迟块的参数对话框中,指定一个初始条件的结构

MATLAB变量初始化

你可以初始化一个总线使用MATLAB变量定义与适当的值作为初始条件结构。

例如,您可以定义以下部分结构的基本工作空间:

K =结构(“一个”结构(“A1”3),“B”4);

然后,您可以指定K结构的初始条件单位延迟块的参数:

单位延迟块的参数对话框中,指定一个MATLAB变量的初始条件

金宝appSimulink.Parameter对象初始化

你可以初始化一个总线使用金宝appSimulink.Parameter对象使用一个初始条件结构价值财产。

例如,您可以定义局部结构P在基本工作空间(反映了ex_bus_initial_conditions模型在前一节中讨论):

P = 金宝appSimulink.Parameter;P。数据类型=“总线:上”;P。值= Simul金宝appink.Bus.createMATLABStruct(“顶级”);P.Value.A。A1 = 3;P.Value。B = 5;

然后,您可以指定P结构的初始条件参数的单位延迟布洛克:

单位延迟块的参数对话框中,指定了一个模型。金宝app参数对象的初始条件

另请参阅

功能

对象

相关的话题