如何在simulink中描述特定年份的线性递减函数?

How do I describe a linear decresing function in certain years in simulink?

我正在开发一个动态 Simulink 模型来描述产品的流程。

使用产品(使用箱)后,有一个流程叫做"waste"。 并且这个流量会从2005年到2030年从40%到10%线性减少到使用箱的输入量。

问题是,我该如何描述这种线性下降?我分析的是2005年到2035年的流量,但是下降只发生在2005年到2030年,之后一直是10%。

我应该使用 Rate Limiter Dynamic 框吗?但是在这个框中,我如何定义年份范围?

图中有这道题的简单模型

您可以将 Matlab 函数块与 clock 结合使用:

function flow_out = fcn(t, flow_in)

    if t >= 2005 && t < 2030
        flow_out = (0.4 - (0.3/25)*(t-2005))*flow_in;
    elseif t >= 2030
        flow_out = 0.10*flow_in;
    else
        flow_out = 0.40;
    end

end