Как описать линейную функцию, не используя блок matlab fcn в simulink? - PullRequest
0 голосов
/ 30 октября 2019

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

Вводится количество электромобилей. В 2005 году только 70% автомобилей использовали литий-ионные аккумуляторы, тогда как в 2010 году это соотношение составляло 80%, а в 2015 году стало 100%. В течение этих лет увеличение было линейным.

Я использовал matlab fcn, чтобы описать его так:

Simulink screenshot

И код такой:

matlab

function LIBs = fcn(EVin, Time)

if Time >= 2005 && Time < 2010

    LIBs = (0.7 + (0.1 / 5) * (Time - 2005)) * EVin;

elseif Time >= 2010 && Time < 2015

    LIBs = (0.8 + (0.2 / 5) * (Time - 2010)) * EVin;

else

    LIBs = EVin;

end

end

Этот matlab fcn действительно может работать очень хорошо. Но я пытаюсь соединить некоторые важные переменные с инструментальными панелями, чтобы сделать их настраиваемыми.

Например, чтобы изменить первоначальный уровень проникновения в 2005 г. на 50%, а в 2008 г. - на 60%, наконец, в 2012 г. - на 100%, а после этого оставить на 100%.

Чтоя могу сделать? Я пробовал это, но я не знаю, как я мог установить некоторые критические точки, например, год, когда наклон линейной функции изменяется.

Simulink diagram

...