Создайте контрольные переменные, условия варианта define и переменные контроля над экспортом.
Создайте контрольные переменные в глобальной рабочей области или словаре данных.
FUEL=2; EMIS=1;
Используйте контрольные переменные, чтобы задать условие управления с помощью Simulink.Variant
объект.
LinearController=Simulink.Variant('FUEL==2 && EMIS==1');
Примечание
Перед каждой симуляцией задайте Simulink.Variant
объекты, представляющие различные условия.
Если вы сохраненный переменные в глобальной рабочей области, выберите контрольные переменные, чтобы экспортировать. Щелкните правой кнопкой и нажмите Save As, чтобы задать имя MAT-файла.
Если вы хотите снова использовать общие различные условия через модели, задайте различные условия управления с помощью Simulink.Variant
объекты.
Повторное использование Simulink.Variant
объекты изменить иерархию модели динамически, чтобы отразить различные условия путем изменения значений контрольных переменных, которые задают выражение условия.
Модель AutoSSVar
в качестве примера показывает использование
Simulink.Variant
объекты к варианту define управляют условиями.
Примечание
Необходимо использовать Simulink.Variant
объекты к варианту define управляют условиями для рабочих процессов AUTOSAR.
Используйте перечислимые типы, чтобы дать понятные имена целым числам, используемым в качестве различных значений управления.
В Редакторе MATLAB® задайте классы, которые сопоставляют перечисляемые значения с понятными именами.
classdef sldemo_mrv_CONTROLLER_TYPE < Simulink.IntEnumType enumeration NONLINEAR (1) SECOND_ORDER (2) end end
classdef sldemo_mrv_BUILD_TYPE < Simulink.IntEnumType enumeration PROTOTYPE (1) PRODUCTION (2) end end
Задайте Simulink.Variant
объекты для этих классов в глобальной рабочей области.
VE_NONLINEAR_CONTROLLER = Simulink.Variant... ('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.NONLINEAR') VE_SECOND_ORDER_CONTROLLER =Simulink.Variant... ('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.SECOND_ORDER') VE_PROTOTYPE =Simulink.Variant... ('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PROTOTYPE') VE_PRODUCTION =Simulink.Variant... ('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PRODUCTION')
Используя перечислимые типы упрощает сгенерированный код, потому что он содержит имена значений, а не целых чисел.