Пакет: 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
Примечание
Если вы генерируете код с 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');