【发布时间】:2014-11-06 01:12:53
【问题描述】:
我在 simulink 中有一个 MATLAB 功能块,对于每一步 simlulink,我是否想输入一个增量为 1 的计数器。 前任: 第一步 -> Acc=1 第二步 -> Acc=2
我尝试使用 Count up 块 + 脉冲发生器,但 simulink 的时间步长不是恒定的。
有什么想法吗?
【问题讨论】:
-
您需要添加您已经尝试过的代码(并检查格式)。并解释你看到的结果(即出了什么问题)。
-
Simulink 默认为您选择一个可变步长求解器。如果您希望步骤在时间上等距,请选择 Fixed Step Solver 并指定时间步长,但要知道这在您的模型中的含义。如果您希望以固定的周期执行块,请为其选择一个采样时间,或者使用零阶保持对其进行采样。
-
我不确定您是如何尝试使用脉冲发生器的,但有没有办法使用脉冲发生器使脉冲处于采样命中而不是模拟时间?无论如何,我用来计算命中的方法是使用 C++ S-Function,然后有一个 PWork 向量来计算调用。 PWork 是一种在内存中持久存在的变量。因此,无论使用何种求解器,您都可以在每个函数调用中附加它并完成工作。
标签: matlab counter simulink accumulator