Пакет: Simulink
Определение условий, управляющих выбором вариантов
Объект Simulink.Variant класс представляет условное выражение, называемое элементом управления исполнения. Объект позволяет задать логическое выражение, которое активирует конкретный вариант, когда он вычисляется как true.
Элемент управления вариантом содержит одну или несколько переменных элемента управления вариантом, заданных с помощью переменных MATLAB ® илиSimulink.Parameter объекты.
Элементы управления исполнениями задаются для каждого варианта, представленного в блоке Исполнительная подсистема (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');