| Contents | Index |
Logic and Bit Operations
By default, the Relational Operator block compares two inputs using the Relational operator parameter that you specify. The first input corresponds to the top input port and the second input to the bottom input port. (See How to Rotate a Block in the Simulink documentation for a description of the port order for various block orientations.)
You can specify one of the following operations in two-input mode:
| Operation | Description |
|---|---|
== | TRUE if the first input is equal to the second input |
~= | TRUE if the first input is not equal to the second input |
< | TRUE if the first input is less than the second input |
<= | TRUE if the first input is less than or equal to the second input |
>= | TRUE if the first input is greater than or equal to the second input |
> | TRUE if the first input is greater than the second input |
You can specify inputs as scalars, arrays, or a combination of a scalar and an array.
| For... | The output is... |
|---|---|
| Scalar inputs | A scalar |
| Array inputs | An array of the same dimensions, where each element is the result of an element-by-element comparison of the input arrays |
| Mixed scalar and array inputs | An array, where each element is the result of a comparison between the scalar and the corresponding array element |
The input with the smaller positive range is converted to the data type of the other input offline using round-to-nearest and saturation. This conversion occurs before the comparison.
You can specify the output data type using the Output data type parameter. The output equals 1 for TRUE and 0 for FALSE.
Tip Select an output data type that represents zero exactly. Data types that satisfy this condition include signed and unsigned integers and any floating-point data type. |
When you select one of the following operations for Relational operator, the block switches to one-input mode.
| Operation | Description |
|---|---|
isInf | TRUE if the input is Inf |
isNaN | TRUE if the input is NaN |
isFinite | TRUE if the input is finite |
For an input that is not floating point, the block produces the following output.
| Data Type | Operation | Block Output |
|---|---|---|
| isInf | FALSE |
isNaN | FALSE | |
isFinite | TRUE |
The following rules apply for data type propagation when your block has one or more input ports with unspecified data types.
| When the block is in... | And... | The block uses... |
|---|---|---|
| Two-input mode | Both input ports have unspecified data types | double as the default data type for both inputs |
| One input port has an unspecified data type | The data type from the specified input port as the default data type of the other port | |
| One-input mode | The input port has an unspecified data type | double as the default data type for the input |
The Relational Operator block accepts real or complex signals of any data type that Simulink supports, including fixed-point and enumerated data types. For two-input mode, one input can be real and the other complex when the operator is == or ~=. Complex inputs work only for ==, ~=, isInf, isNaN, and isFinite.
For more information, see Data Types Supported by Simulink in the Simulink documentation.
The Main pane of the Relational Operator block dialog box appears as follows:

The Signal Attributes pane of the Relational Operator block dialog box appears as follows:

Display the Data Type Assistant.
The Data Type Assistant helps you set the Output data type parameter.
See Specifying Block Output Data Types for more information.
See Block-Specific Parameters for the command-line information.
Specify the operation for comparing two inputs or determining the signal type of one input.
Default: <=
TRUE if the first input is equal to the second input
TRUE if the first input is not equal to the second input
TRUE if the first input is less than the second input
TRUE if the first input is less than or equal to the second input
TRUE if the first input is greater than or equal to the second input
TRUE if the first input is greater than the second input
TRUE if the input is Inf
TRUE if the input is NaN
TRUE if the input is finite
See Block-Specific Parameters for the command-line information.
Select to enable zero-crossing detection. For more information, see Zero-Crossing Detection.
Default: On
See Block-Specific Parameters for the command-line information.
Enter the discrete interval between sample time hits or specify another appropriate sample time such as continuous or inherited.
Default: -1
By default, the block inherits its sample time based upon the context of the block within the model. To set a different sample time, enter a valid sample time based upon the table in Types of Sample Time.
See also How to Specify the Sample Time in the online documentation for more information.
See Block-Specific Parameters for the command-line information.
Require that all inputs have the same data type.
Default: Off
Require that all inputs have the same data type.
Do not require that all inputs have the same data type.
This check box is not available when you select isInf, isNaN, or isFinite for Relational operator, because the block is in one-input mode.
See Block-Specific Parameters for the command-line information.
Specify the output data type.
Default: boolean
Uses the Implement logic signals as Boolean data configuration parameter (see Implement logic signals as Boolean data (vs. double)) to specify the output data type.
Specifies output data type is boolean.
Specifies output data type is fixdt(1,16).
Uses the name of a data type object, for example, Simulink.NumericType.
See Block-Specific Parameters for the command-line information.
Select the category of data to specify.
Default: Built in
Specifies inheritance rules for data types. Selecting Inherit enables Logical (see Configuration Parameters: Optimization).
Specifies built-in data types. Selecting Built in enables boolean.
Specifies fixed-point data types.
Specifies expressions that evaluate to data types.
Clicking the Show data type assistant button enables this parameter.
See Block-Specific Parameters for the command-line information.
See Using the Data Type Assistant in the Simulink User's Guide.
Specify data type override mode for this signal.
Default: Inherit
Inherits the data type override setting from its context, that is, from the block, Simulink.Signal object or Stateflow chart in Simulink that is using the signal.
Ignores the data type override setting of its context and uses the fixed-point data type specified for the signal.
The ability to turn off data type override for an individual data type provides greater control over the data types in your model when you apply data type override. For example, you can use this option to ensure that data types meet the requirements of downstream blocks regardless of the data type override setting.
This parameter appears only when the Mode is Built in or Fixed point.
Specify whether you want the fixed-point data as signed or unsigned.
Default: Signed
Selecting Mode > Fixed point enables this parameter.
See Block-Specific Parameters for the command-line information.
See Specifying a Fixed-Point Data Type in the Simulink User's Guide for more information.
Specify the bit size of the word that holds the quantized integer.
Default: 16
Minimum: 0
Maximum: 32
Selecting Mode > Fixed point enables this parameter.
See Block-Specific Parameters for the command-line information.
See Specifying a Fixed-Point Data Type in the Simulink User's Guide for more information.
Specify the method for scaling your fixed-point data to avoid overflow conditions and minimize quantization errors.
Default: Integer
Specify integer. This setting has the same result as specifying a binary point location and setting fraction length to 0.
See Block-Specific Parameters for the command-line information.
See Specifying a Fixed-Point Data Type in the Simulink User's Guide for more information.
In the sldemo_fuelsys model, the fuel_rate_control/airflow_calc subsystem uses two Relational Operator blocks:

Both Relational Operator blocks operate in two-input mode.
| The block that uses this operator... | Compares... |
|---|---|
| <= | The value of the oxygen sensor to the threshold value, 0.5 |
| == | The value of the fuel mode to the ideal value, sld_FuelModes.LOW |
Direct Feedthrough | Yes |
Sample Time | Specified in the Sample time parameter |
Scalar Expansion | Yes, of inputs |
Dimensionalized | Yes |
Multidimensionalized | Yes |
Zero-Crossing Detection | Yes, if enabled |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |