Пакет: 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');