美好的一天,
我需要在SIMULINK的一些数学运算中提供一些帮助。我有一个来自街区的信号。信号始终具有前几个条目
为9999
。然后,下一个条目是0
和200
之间的值,例如:100
。之后,所有其他剩余条目将返回9999
。这始终是信号的本质,除了值100
可能会在不同的模拟中更改其值或位置,但它始终具有一个或多个9999
值,以及之后的所有其他条目也是9999
。
这是来自块的信号的一个例子:
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
都被该值替换。
我尝试将MATLAB函数与一些if-else
语句一起使用。此外,我尝试使用延迟和比较块,但我无法获得所需的输出。
是否有使用MATLAB函数或使用某些SIMULINK块的解决方案?
此致