Simulink中的FOR迭代器块



我有一个Simulink模型,它必须执行以下操作:In1输入将采用3元素输入的矢量(这将是随时间变化的(这就是我想到FOR循环的原因!)但出于最初的开发/测试目的,我使用了一个常数[1 3 6])并且In2是6x3大小的常数矩阵,其值为X=

 1     4     6
 1     4     5
 1     3     6
 0     0     0
 2     3     5
 3     5     7

Simulink模型应输出X中[1 3 6]的相应索引(基于1的索引)(应为3)。当我模拟这个模型时,我能够在FOR循环中的每个循环(10ms循环)中看到值"3"。但是,当我看到输出(在FOR子系统之外)时,它总是显示"0",并且从不等于"3"。我不能理解这种行为。请帮忙!

for循环不会使用与Simulink模型相同的采样时间进行迭代。所有迭代都发生在单个采样时间内。我想这就是为什么你总是得到"3",因为它是for循环最后一次迭代的结果。也许您可以使用选择器块来执行您需要的操作。

最新更新