Как описать линейную убывающую функцию в определенные годы в Simulink? - PullRequest
0 голосов
/ 23 октября 2019

Я разрабатываю динамическую модель Simulink для описания потока продукта.

enter image description here

После использования продукта (коробки использования) возникает поток, называемый «отходами». И этот поток будет линейно уменьшаться с 40% до 10% от суммы, введенной в коробку использования с 2005 по 2030 год.

И вопрос в том, как я могу описать это линейное уменьшение? Что я анализирую, так это поток с 2005 по 2035 год, но снижение происходит только с 2005 по 2030 год, и после этого остается постоянным 10%.

Должен ли я использовать динамический ограничитель скорости? Но как в этом окне определить диапазон лет?

На рисунке показана простая модель этого вопроса.

1 Ответ

0 голосов
/ 23 октября 2019

Вы можете использовать функциональный блок Matlab в сочетании с clock: enter image description here

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

enter image description here

...