# eul2rotm

Convert Euler angles to rotation matrix

## Syntax

``rotm = eul2rotm(eul)``
``rotm = eul2rotm(eul,sequence)``

## Description

example

````rotm = eul2rotm(eul)` converts a set of Euler angles, `eul`, to the corresponding rotation matrix, `rotm`. When using the rotation matrix, premultiply it with the coordinates to be rotated (as opposed to postmultiplying). The default order for Euler angle rotations is `"ZYX"`.```

example

````rotm = eul2rotm(eul,sequence)` converts Euler angles to a rotation matrix, `rotm`. The Euler angles are specified in the axis rotation sequence, `sequence`. The default order for Euler angle rotations is `"ZYX"`.```

## Examples

collapse all

```eul = [0 pi/2 0]; rotmZYX = eul2rotm(eul)```
```rotmZYX = 3×3 0.0000 0 1.0000 0 1.0000 0 -1.0000 0 0.0000 ```
```eul = [0 pi/2 pi/2]; rotmZYZ = eul2rotm(eul,'ZYZ')```
```rotmZYZ = 3×3 0.0000 -0.0000 1.0000 1.0000 0.0000 0 -0.0000 1.0000 0.0000 ```

## Input Arguments

collapse all

Euler rotation angles in radians, specified as an n-by-3 array of intrinsic Euler rotation angles. Each row represents one Euler angle set in the sequence defined by the `sequence` argument. For example, with the default sequence `"ZYX"`, each row of `eul` is of the form `[zAngle yAngle xAngle]`.

Example: `[0 0 1.5708]`

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

• `"ZYX"` (default)

• `"ZYZ"`

• `"ZXY"`

• `"ZXZ"`

• `"YXY"`

• `"YZX"`

• `"YXZ"`

• `"YZY"`

• `"XYX"`

• `"XYZ"`

• `"XZX"`

• `"XZY"`

Each character indicates the corresponding axis. For example, if the sequence is `"ZYX"`, then the three specified Euler angles are interpreted in order as a rotation around the z-axis, a rotation around the y-axis, and a rotation around the x-axis. When applying this rotation to a point, it will apply the axis rotations in the order x, then y, then z.

Data Types: `string` | `char`

## Output Arguments

collapse all

Rotation matrix, returned as a 3-by-3-by-n matrix containing n rotation matrices. Each rotation matrix has a size of 3-by-3 and is orthonormal. When using the rotation matrix, premultiply it with the coordinates to be rotated (as opposed to postmultiplying).

Example: `[0 0 1; 0 1 0; -1 0 0]`

## Version History

Introduced in R2015a

expand all