For loop Simulink中的迭代器块

For loop Simulink中的迭代器块,for-loop,iterator,simulink,For Loop,Iterator,Simulink,我有一个Simulink模型,它必须执行以下操作: In1输入将接受3个元素输入的向量(这将是时变的(这就是为什么我想到FOR循环!) 但出于最初的开发/测试目的,我使用了一个常量[1 3 6]) In2是一个6x3大小的常数矩阵,其值为 X= Simulink模型应输出X中[1 3 6]的相应索引(基于1的索引)(应为3)。 当我模拟这个模型时,我能够在FOR循环中的每个循环(10ms循环)上看到值“3”。但是当我看到输出(在FOR子系统之外)时,它总是显示“0”,并且从不等于“3”。我无法理

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

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

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

这并不能解释您看到的内容,但您可能会发现MATLAB功能块更易于用于此类算法。
 1     4     6
 1     4     5
 1     3     6
 0     0     0
 2     3     5
 3     5     7