在 SIMULINK 中对信号应用一些数学运算
Applying some mathematical operation to a signal in SIMULINK
美好的一天,
我在 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
都将替换为该值。
我尝试使用带有一些 if-else
语句的 MATLAB 函数。另外,我尝试使用延迟块和比较块,但无法获得所需的输出。
是否有使用 MATLAB 函数或使用一些 SIMULINK 块的解决方案?
此致
检查以下内容,使用 9999
初始化 Memory
块
结果,
缩放结果,
美好的一天,
我在 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
都将替换为该值。
我尝试使用带有一些 if-else
语句的 MATLAB 函数。另外,我尝试使用延迟块和比较块,但无法获得所需的输出。
是否有使用 MATLAB 函数或使用一些 SIMULINK 块的解决方案?
此致
检查以下内容,使用 9999
Memory
块
结果,
缩放结果,