【问题标题】:Counting occurrences of 1 --> 0 changing for a signal in SIMULINK计算 SIMULINK 中信号的 1 --> 0 发生变化
【发布时间】:2015-11-30 20:49:46
【问题描述】:

例如,我有这个向量作为来自其他块的信号

时间样本,比如说每一秒。其实这个向量的性质是

随机,但这只是一个例子:

U = [1 1 0 0 1 0 0 0 0 1 0]

我想把这个信号处理成一个计算变化发生次数的块

从 1 到 0。初始值假定为零。

因此,在上面的例子中,当前两个条目(它们是一个)

进入这个方块,这个方块会给出零输出。

但是,当第三个条目(它是零并且它的前一个值为 1)进入

块,它会给我一个,当第六个条目(零和它的

previous value 是 1) 进入块,它会给我两个,当最后一个时

entry(它是零,它的前一个值为1)进入块,它会给

我三个。对于所有其他情况,该块将给出零。

因此,该块将计算输入为零及其前一个的情况

输入是一。

块的输出会随着时间不断变化,这反过来又会

进入其他方块。

我不想要实现或细节。这些我都知道了。

我只想知道进行这种计数的块的名称是什么。

我尝试使用计数器和内存块,但不幸的是,我无法获得

正确的目标结果。

问候

【问题讨论】:

  • 你可以使用 s 函数。

标签: count binary simulink


【解决方案1】:

不知道您是否仍然需要答案,但以下应该可以做到(我认为它不能在一个标准块中完成)。

这假设您的输入是随时间变化的信号(而不是恒定向量)。

Version 1 将为您的[1 1 0 0 1 0 0 0 0 1 0] 输入提供[0 0 1 1 1 2 2 2 2 2 3] 的输出。

自从你写了

对于所有其他情况,该块将给出零。

我还包括了一个Version 2,它将作为您的输入输出[0 0 1 0 0 2 0 0 0 0 3]

【讨论】:

  • 非常感谢您的帮助。
猜你喜欢
  • 2016-04-11
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多