【问题标题】:overwriting specific variables in simulink覆盖simulink中的特定变量
【发布时间】:2014-01-29 03:28:33
【问题描述】:

这是我当前的 simulink 模型的图片:

变量initRun 被初始化为1。所以在第一个模拟步骤中else-case 将被激活并且图像被存储到变量origImg。现在另外我想将变量initRun设置为0,以便在下一个模拟步骤中激活if-case。但是我不知道该怎么做。

我的第二个问题是关于 Data Store Memory 块中变量 origImg 的初始化。该变量必须初始化为 176x144 矩阵。我尝试了几种方法,但都失败了。

希望你能帮帮我。

【问题讨论】:

    标签: matlab constants simulink overwrite


    【解决方案1】:

    对于您的InitRun,使用Clock 块和Compare to Zero 块可能更简单,这样当t > 0 时,您可以激活一个条件,否则可以激活另一个条件(即t = 0 )。

    对于 Data Store Memory 模块的初始化,只需在模块参数(信号属性选项卡)中指定 zeros(176,144) 作为初始值。有关详细信息,请参阅documentation

    【讨论】:

    • 感谢您的快速答复。您对imgOrigData Store Memory 初始化的提示正在完成这项工作。但我认为您对initRun 的建议不会奏效,因为稍后我将通过 CANbus 接收汽车的速度,并根据速度选择一种图像处理算法。因此,如果速度超过某个边界(当前为0.3km/h),我还需要再次将变量initRun 设置为1。变量ìnitRun告诉我是否是第一次运行图像处理,当速度为< 0.3 km/h
    • 然后您可以使用逻辑运算符块 (mathworks.co.uk/help/simulink/slref/logicaloperator.html) 将 t>0 条件与 v<0.3 组合起来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 2017-02-25
    • 2021-08-24
    • 2020-09-30
    相关资源
    最近更新 更多