Assignment
为指定的信号元素赋值
库:
Simulink /
Math Operations
HDL Coder /
Math Operations
描述
Assignment 模块为指定的信号元素赋值。您可以通过在模块对话框中输入索引,或者通过将一个或多个外部索引源连接到模块,来指定要赋值的元素的索引。模块数据端口 U
处的信号指定要赋给 Y
的值。该模块将 Y
的指定元素替换为数据信号的元素。
基于您为输出维度的数量参数输入的值,将显示一个索引选项表。表中的每一行对应于输出维度的数量中的一个输出维度。对于每个维度,您可以定义要使用的信号元素。可将向量信号指定为一维信号,将矩阵信号指定为二维信号。要启用外部索引端口,请在表的对应行中将索引选项设置为“索引向量(端口)
” 或“起始索引(端口)
”。
例如,假设一个 5 维信号具有从 1 开始的索引模式。Assignment 模块对话框中的表将发生变化,使每个维度都有一个对应的行。如果您使用以下选项定义每个维度:
行 | 索引选项 | 索引 |
---|---|---|
1 | “全部赋值 ” | |
2 | “索引向量(对话框) ” | [1 3 5] |
3 | “起始索引(对话框) ” | 4 |
4 | “起始索引(端口) ” | |
5 | “索引向量(端口) ” |
所赋的值为 Y(1:end,[1 3 5],4:3+size(U,3),Idx4:Idx4+size(U,4)-1,Idx5)=U
,其中 Idx4
和 Idx5
是维度 4 和 5 的输入端口。
在普通模式下使用 Assignment 模块时,Simulink® 将模块输出初始化为零,即使模型没有显式初始化它们也是如此。在加速模式下,Simulink 将模型转换成 S-Function。这涉及到代码生成。生成的代码可能不会隐式初始化模块输出。在这种情况下,您必须显式初始化模型输出。
您可以使用模块为向量、矩阵或多维信号赋值。
可使用总线数组作为 Assignment 模块的输入信号。
条件子系统中的 Assignment 模块
如果在条件子系统模块中放置一个 Assignment 模块,在许多情况下会插入一个隐藏的信号缓冲区(相当于 Signal Copy 模块),并且将来自 Assignment 模块的信号与部分写入合并会导致错误。
但是,如果选择条件子系统 Outport 模块的确保输出端口为虚拟端口参数,将对此类情况提供支持,并且可以使用 Assignment 模块部分写入数组。请参阅Ensure Output Port Is Virtual。
限制
索引参数在仿真期间不可调。如果维度的索引选项设置为“
索引向量(对话框)
” 或“起始索引(对话框)
”,并且您在模块对话框中为对应的索引指定了符号值,包括Simulink.Parameter
对象,则仿真开始时的瞬时值将在整个仿真中使用,并且该参数将在生成代码中作为内联值出现。请参阅使用模块参数值进行调优和试验。您可以使用索引端口动态调整赋值索引。
端口
输入
输出
参数
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
版本历史记录
在 R2006a 之前推出