Documentation

# Direction Cosine Matrix to Rotation Angles

Convert direction cosine matrix to rotation angles

## Library

Utilities/Axes Transformations ## Description

The Direction Cosine Matrix to Rotation Angles block converts a 3-by-3 direction cosine matrix (DCM) into three rotation angles R1, R2, and R3, respectively the first, second, and third rotation angles. The DCM matrix performs the coordinate transformation of a vector in inertial axes into a vector in body axes. The block Rotation Order parameter specifies the order of the block output rotations. For example, if Rotation Order has a value of `ZYX`, the block outputs are in the rotation order `z-y-x` (psi theta phi).

## Parameters

Rotation Order

Specifies the output rotation order for three rotation angles. From the list, select `ZYX`, `ZYZ`, `ZXY`, `ZXZ`, `YXZ`, `YXY`, `YZX`, `YZY`, `XYZ`, `XYX`, `XZY`, or `XZX`. The default is `ZYX`.

Rotation order for three wind rotation angles.

For the 'ZYX', 'ZXY', 'YXZ', 'YZX', 'XYZ', and 'XZY' rotations, the block generates an R2 angle that lies between ±pi/2 radians, and R1 and R3 angles that lie between ±pi radians.

For the 'ZYZ', 'ZXZ', 'YXY', 'YZY', 'XYX', and 'XZX' rotations, the block generates an R2 angle that lies between 0 and pi radians, and R1 and R3 angles that lie between ±pi radians. However, in the latter case, when R2 is 0 ±pi radians, R3 is set to 0 radians.

Action for invalid DCM

Block behavior when direction cosine matrix is invalid (not orthogonal).

• Warning — Displays warning and indicates that the direction cosine matrix is invalid.

• Error — Displays error and indicates that the direction cosine matrix is invalid.

• None — Does not display warning or error (default).

Tolerance for DCM validation

Tolerance of direction cosine matrix validity, specified as a scalar. Default is `eps(2)`. The block considers the direction cosine matrix valid if these conditions are true:

• The transpose of the direction cosine matrix times itself equals `1` within the specified tolerance (`transpose(n)*n == 1±tolerance`)

• The determinant of the direction cosine matrix equals `1` within the specified tolerance (`det(n) == 1±tolerance`).

## Inputs and Outputs

InputDimension TypeDescription

First

3-by-3 matrixContains the direction cosine matrix.
OutputDimension TypeDescription

First

3-by-1 vectorContains the rotation angles, in radians.

#### Introduced in R2007b

##### Support Get trial now