rotm2quat

Convert rotation matrix to quaternion

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]