【问题标题】:FOR iterator block in SimulinkSimulink 中的 FOR 迭代器模块
【发布时间】:2013-07-05 21:30:09
【问题描述】:

我有一个 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 循环内的每个循环(10 毫秒循环)处看到值“3”。但是当我看到输出(在 FOR 子系统之外)时,它总是显示“0”并且永远不会等于“3”。我无法理解这种行为。 请帮忙!

【问题讨论】:

  • 这并不能解释您所看到的内容,但您可能会发现 MATLAB Function 模块更易于用于此类算法。

标签: for-loop iterator simulink


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2023-03-15
    • 2014-04-11
    相关资源
    最近更新 更多