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

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

Операторы

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

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

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

Пример:' (Топливо == 2 || эмиссия == 1) && отношение == 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');
Была ли эта тема полезной?