【问题标题】:How to generate state flow condition?如何生成状态流条件?
【发布时间】:2018-10-08 20:18:39
【问题描述】:

我正在尝试创建一个状态机(状态流)。输入是一个向量。
单向切换的条件是:

[vector(vector < 494 | vector > 631)]

另外一个方向:

[vector(vector > 494 & vector < 631)]

但我在诊断查看器窗口中收到一条错误消息:

在需要标量的地方非法使用矩阵或向量类型。

为什么?但是如果我在 MATLAB 命令窗口中键入这些条件,则不会出现错误消息。

【问题讨论】:

    标签: matlab stateflow


    【解决方案1】:

    您的括号语句包含向量的逻辑索引。

    如果您在 matlab 提示符下键入它们,您将得到一个向量/数组,其中包含满足条件的所有元素。

    但是,对于状态流,括号表示转换的条件,并且必须评估为单个(标量)真/假。在那里选择vector的元素是没有意义的。

    如果您有兴趣在向量小于 494 或大于 631 时进行转换,则转换应如下所示:

    [vector < 494 || vector > 631]
    

    并且向量必须是状态流上下文中的标量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多