Simulink.Variant class

Пакет: Simulink

Задайте условия которые управляют выбором варианта

Описание

Объект Simulink.Variant класс представляет условное выражение, названное различным управлением. Объект позволяет вам задавать Булево выражение, которое активирует определенный вариант, когда он оценивает к true.

Различное управление включает одну или несколько различных контрольных переменных, заданное использование MATLAB® переменные или Simulink.Parameter объекты.

Вы задаете различные средства управления для каждого варианта, представленного в блоке Variant Subsystem или Model Variant. Для данного блока Variant Subsystem или Model Variant только одно различное управление может оценить к true за один раз. Когда различное управление оценивает к true, Simulink® активирует вариант, который соответствует тому различному управлению.

Конструкция

variantControl = Simulink.Variant(conditionExpression) создает различное управление.

Свойства

развернуть все

Различное выражение условия в виде вектора символов, содержащего один или несколько из этих операндов и операторов.

Операнды

  • Имена переменных, которые решают к переменным MATLAB или Simulink.Parameter объекты с целым числом или перечисленным типом данных и скалярными литеральными значениями

  • Имена переменных та твердость к Simulink.Variant объекты

  • Скалярные литеральные значения, которые представляют целочисленные или перечисляемые значения

Операторы

  • Круглые скобки для группировки

  • Арифметика, реляционные, логические, или побитовые операторы

Различное выражение условия оценивает к булеву значению. Это свойство имеет доступ для чтения и доступ для записи.

Пример: '(Fuel==2 || Emission==1) && Ratio==2'

Примеры

Создайте различные средства управления Используя переменные MATLAB

Используйте переменные 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

Примечание

Если вы генерируете код с startup время активации, задайте поддерживаемый пользовательский класс памяти для объектов. Для получения дополнительной информации о встроенных и пользовательских классах памяти, поддержанных с startup время активации видит Классы памяти в течение Различных Различных Времен Активации.

.

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');