Simulink. Различный класс

Пакет: 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.

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