Documentation

# rotm2quat

Convert rotation matrix to quaternion

## Syntax

``quat = rotm2quat(rotm)``

## Description

example

````quat = rotm2quat(rotm)` converts a rotation matrix, `rotm`, to the corresponding unit quaternion representation, `quat`. The input rotation matrix must be in the premultiply form for rotations.```

## Examples

collapse all

```rotm = [0 0 1; 0 1 0; -1 0 0]; quat = rotm2quat(rotm)```
```quat = 1×4 0.7071 0 0.7071 0 ```

## Input Arguments

collapse all

Rotation matrix, specified 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. The input rotation matrix must be in the premultiply form for rotations.

### Note

Rotation matrices that are slightly non-orthonormal can give complex outputs. Consider validating your matrix before inputting to the function.

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

## Output Arguments

collapse all

Unit quaternion, returned as an n-by-4 matrix containing n quaternions. Each quaternion, one per row, is of the form q = [w x y z], with w as the scalar number.

Example: `[0.7071 0.7071 0 0]`

## Extended Capabilities

### C/C++ Code GenerationGenerate C and C++ code using MATLAB® Coder™. 