This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Convert quaternion to Euler angles


eul = quat2eul(quat)
eul = quat2eul(quat,sequence)



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


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'.


collapse all

quat = [0.7071 0.7071 0 0];
eulZYX = quat2eul(quat)
eulZYX =

         0         0    1.5708

quat = [0.7071 0.7071 0 0];
eulZYZ = quat2eul(quat,'ZYZ')
eulZYZ =

    1.5708   -1.5708   -1.5708

Input Arguments

collapse all

Unit quaternion, specified 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]

Axis rotation sequence for the Euler angles, specified as one of these character vectors:

  • '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.

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]

Extended Capabilities

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

See Also

Introduced in R2015a

Was this topic helpful?