Simulink.VariantExpression
R2026bSpecify conditions that control variant selection
Description
In a model that contains variant blocks, you must associate each variant choice
with a variant control. During simulation, Simulink® evaluates the variant controls of all variant choices and activates the choice
that corresponds to the variant control that evaluates to true.
You can specify the variant control in the form of a Boolean condition expression, such as
A == 1 or A==1 && B == 2. In these
expressions, the variant control variables A and B can
be MATLAB® variables, Simulink.Parameter objects, or Simulink.VariantControl objects. Create a
Simulink.VariantExpression object to represent a Boolean variant condition
expression. You can define the object in the base workspace or in a data dictionary and use it
as part of variant control expression. These Simulink.VariantExpression
objects improve the readability of variant condition expressions.
Simulink.VariantExpression objects enable you to reuse complex variant
condition expressions across multiple variant blocks and variant parameters, improving the
readability of variant conditions. For more information, see Switch Between Choices Using Condition Expressions in Variant Blocks and Use Simulink.VariantExpression Objects for Variant Condition Reuse of Variant Blocks.
Note
Use Simulink.VariantExpression objects in AUTOSAR code generation
workflows to configure variants for AUTOSAR elements such as ports and runnables, and to
support AUTOSAR variant import and export workflows. For more information, see Configure Variants for AUTOSAR Elements (AUTOSAR Blockset). For
workflows other than AUTOSAR, using direct Boolean expressions with variant controls is
preferable.
For example, you can use Simulink.VariantExpression objects as variant
controls in a Variant Source
block.
v_EngType_Big = Simulink.VariantExpression("V == 1"); v_EngType_Small = Simulink.VariantExpression("V == 2");

Note
Defining variant controls using
Simulink.VariantExpressionobjects in a mask workspace or the model workspace is not supported. For more information on storage locations for variant control variables, see Types of Variant Control Variables (Operands) in Variant Blocks.Using
Simulink.VariantExpressionobjects within structures is not supported.
Creation
Description
creates a variant control and sets the variantControl = Simulink.VariantExpression(conditionExpression)Condition property to
conditionExpression.
