Пакет: Simulink
Задайте условия которые управляют выбором варианта
Объект Simulink.Variant
класс представляет условное выражение, названное различным управлением. Объект позволяет вам задавать Булево выражение, которое активирует определенный вариант, когда он оценивает к true
.
Различное управление включает одну или несколько различных контрольных переменных, заданное использование переменные MATLAB® или Simulink.Parameter
объекты.
Вы задаете различные средства управления для каждого варианта, представленного в блоке Variant Subsystem или Model Variant. Для данного блока Variant Subsystem или Model Variant только одно различное управление может оценить к true
за один раз. Когда различное управление оценивает к true
, Simulink® активирует вариант, который соответствует тому различному управлению.
создает различное управление.variantControl
= Simulink.Variant(conditionExpression
)
Используйте переменные MATLAB, когда это необходимо, чтобы симулировать модель, но не рассматривают генерацию кода.
Создайте переменные MATLAB со скалярными литеральными значениями.
Fuel = 3; Emission = 1; Ratio = 3;
Разработайте условные выражения с помощью переменных.
Variant1 = Simulink.Variant('Fuel==1 && Emission==2'); Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2'); Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');
Simulink.Parameter
ОбъектыЕсли вы хотите сгенерировать условные выражения препроцессора для генерации кода, используйте Simulink.Parameter
объекты.
Создайте вариант Simulink.Parameter
объекты со скалярными литеральными значениями.
Fuel = Simulink.Parameter(3); Emission = Simulink.Parameter(1); Ratio = Simulink.Parameter(3);
Задайте пользовательский класс памяти для этих объектов как ImportedDefine
так, чтобы значения были заданы внешним заголовочным файлом.
Другими допустимыми значениями для пользовательского класса памяти является Define
и CompilerFlag
.
Fuel.CoderInfo.StorageClass = 'Custom'; Fuel.CoderInfo.CustomStorageClass = 'ImportedDefine'; Emission.CoderInfo.StorageClass = 'Custom'; Emission.CoderInfo.CustomStorageClass = 'ImportedDefine'; Ratio.CoderInfo.StorageClass = 'Custom'; Ratio.CoderInfo.CustomStorageClass = 'ImportedDefine';
Разработайте условные выражения с помощью переменных и создайте различные средства управления.
Variant1 = Simulink.Variant('Fuel==1 && Emission==2'); Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2'); Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');