【问题标题】:Applying some mathematical operation to a signal in SIMULINK在 SIMULINK 中对信号应用一些数学运算
【发布时间】:2017-12-05 12:51:43
【问题描述】:

早安,

我在 SIMULINK 中的一些数学运算方面需要一些帮助。我有一个来自一个街区的信号。信号总是有前几个条目 作为9999。然后,下一个条目是介于0200 之间的值,例如: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


    【解决方案1】:

    检查以下内容,使用9999 初始化Memory

    结果,

    放大的结果,

    【讨论】:

    • 非常感谢 Hazem。完美的。你知道这花了我大约 6 个小时来尝试找到解决方案。您在几分钟内给出了解决方案:)。非常感谢。感谢您的帮助:)
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2020-02-11
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多