Main Content

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×40.7071 0 0.7071 0

Input Arguments

collapse all

Rotation matrix, specified as a 3-by-3-by-nmatrix containingnrotation 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 ann4矩阵containingnquaternions. Each quaternion, one per row, is of the formq= [wxyz], withwas the scalar number.

Example:[0.7071 0.7071 0 0]

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2015a

See Also