【发布时间】:2017-12-05 12:51:43
【问题描述】:
早安,
我在 SIMULINK 中的一些数学运算方面需要一些帮助。我有一个来自一个街区的信号。信号总是有前几个条目
作为9999。然后,下一个条目是介于0 和200 之间的值,例如:100。之后,所有其他剩余条目都返回到9999。这始终是信号的本质,除了值:100 可能会在不同的模拟中改变它的值或位置,但它之前总是有一个或多个值9999,它之后的所有其他条目也是@987654328 @。
这是来自块的信号示例:
S=[9999 75 9999 9999 9999]
另一个例子:
S=[9999 9999 9999 100 9999 9999 9999 9999 9999]
我想将此信号传递给 SIMULINK 中的另一个模块或 MATLAB 函数,这样一旦读取了值(第一个示例中的 75 或第二个示例中的 100),它将永远保持到结束模拟。
因此,第一个示例的期望输出是:
Y=[9999 75 75 75 75]
第二个例子是:
Y=[9999 9999 9999 100 100 100 100 100 100]
因此,所有剩余的 9999 都将替换为该值。
我尝试使用带有一些 if-else 语句的 MATLAB 函数。此外,我尝试使用延迟块和比较块,但无法获得所需的输出。
是否有使用 MATLAB Function 或使用一些 SIMULINK 模块的解决方案?
问候
【问题讨论】:
标签: simulink