# quat2eul

Convert quaternion to Euler angles

## Syntax

``eul = quat2eul(quat)``
``eul = quat2eul(quat,sequence)``
``[eul,eulAlt] = quat2eul(___)``

## Description

example

````eul = quat2eul(quat)` converts a quaternion rotation, `quat`, to the corresponding Euler angles, `eul`. The default order for Euler angle rotations is `"ZYX"`.```

example

````eul = quat2eul(quat,sequence)` converts a quaternion into Euler angles. The Euler angles are specified in the axis rotation sequence, `sequence`. The default order for Euler angle rotations is `"ZYX"`.```
````[eul,eulAlt] = quat2eul(___)` also returns an alternate set of Euler angles that represents the same rotation `eulAlt`.```

## Examples

collapse all

```quat = [0.7071 0.7071 0 0]; eulZYX = quat2eul(quat)```
```eulZYX = 1×3 0 0 1.5708 ```
```quat = [0.7071 0.7071 0 0]; eulZYZ = quat2eul(quat,'ZYZ')```
```eulZYZ = 1×3 1.5708 -1.5708 -1.5708 ```

## Input Arguments

collapse all

Unit quaternion, specified as an n-by-4 matrix or n-element vector of `quaternion` objects containing n quaternions. If the input is a matrix, each row is a quaternion vector of the form q = [w x y z], with w as the scalar number.

Example: `[0.7071 0.7071 0 0]`

Axis rotation sequence for the Euler angles, specified as one of these string scalars:

• `"ZYX"` (default) – The order of rotation angles is z-axis, y-axis, x-axis.

• `"ZYZ"` – The order of rotation angles is z-axis, y-axis, z-axis.

• `"XYZ"` – The order of rotation angles is x-axis, y-axis, z-axis.

Data Types: `string` | `char`

## Output Arguments

collapse all

Euler rotation angles in radians, returned as an n-by-3 array of Euler rotation angles. Each row represents one Euler angle set.

Example: `[0 0 1.5708]`

Alternate Euler rotation angle solution in radians, returned as an n-by-3 array of Euler rotation angles. Each row represents one Euler angle set.

Example: `[0 0 1.5708]`

## Version History

Introduced in R2015a

expand all