Simulink:从具有数组的常量块进行索引
Simulink: Indexing from a Constant block with array
我可以发誓,我在 Simulink 中看到一个常量块,其值字段中有一个向量,效果是在每个仿真时间步长上,Simulink 都会索引该数组中的下一个值并将其输出到常量块的输出(见下图)。所以常量块的输出(在下图中)将是 1,然后是 2,然后是 3,然后是 4。
然而,效果是(无论 "interpret vector parameters as 1-d" 的值如何),只有常量块数组中的第一个值从中输出。
我错了吗?我做错了什么?
您还没有看到Constant
块有那样的行为,因为它没有那样的行为。如果您希望信号发生变化,那么您需要使用一个 allows/forces 块来指定一个点的时间向量,指示输入值何时发生变化,例如 From Workspace
块。
根据您设置模型的方式,Constant
输出是一个 4 元素向量,Product
块的输出也是如此。
此外,根据您显示的图像,您没有看到 "that only the first value in the Constant block's array is output from it"。查看器清楚地显示您正在查看 Constant 1(1,1)
的值,这是信号中的第一个元素。 constant 块和 Multiply 块输出的其他 3 个值在查看器中清楚显示,您只是没有选择它们进行查看。
我可以发誓,我在 Simulink 中看到一个常量块,其值字段中有一个向量,效果是在每个仿真时间步长上,Simulink 都会索引该数组中的下一个值并将其输出到常量块的输出(见下图)。所以常量块的输出(在下图中)将是 1,然后是 2,然后是 3,然后是 4。
然而,效果是(无论 "interpret vector parameters as 1-d" 的值如何),只有常量块数组中的第一个值从中输出。
我错了吗?我做错了什么?
您还没有看到Constant
块有那样的行为,因为它没有那样的行为。如果您希望信号发生变化,那么您需要使用一个 allows/forces 块来指定一个点的时间向量,指示输入值何时发生变化,例如 From Workspace
块。
根据您设置模型的方式,Constant
输出是一个 4 元素向量,Product
块的输出也是如此。
此外,根据您显示的图像,您没有看到 "that only the first value in the Constant block's array is output from it"。查看器清楚地显示您正在查看 Constant 1(1,1)
的值,这是信号中的第一个元素。 constant 块和 Multiply 块输出的其他 3 个值在查看器中清楚显示,您只是没有选择它们进行查看。