美好的一天,
我需要在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块的解决方案?
问候
1 回答
检查以下内容,并使用
9999
初始化Memory
块结果,
放大结果,