This is machine translation

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

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Convert Euler angles to quaternion


quat = eul2quat(eul)
quat = eul2quat(eul,sequence)



quat = eul2quat(eul) converts a given set of Euler angles, eul, to the corresponding quaternion, quat. The default order for Euler angle rotations is "ZYX".


quat = eul2quat(eul,sequence) converts a set of Euler angles into a quaternion. The Euler angles are specified in the axis rotation sequence, sequence. The default order for Euler angle rotations is "ZYX".


collapse all

eul = [0 pi/2 0];
qZYX = eul2quat(eul)
qZYX = 1×4

    0.7071         0    0.7071         0

eul = [pi/2 0 0];
qZYZ = eul2quat(eul,'ZYZ')
qZYZ = 1×4

    0.7071         0         0    0.7071

Input Arguments

collapse all

Euler rotation angles in radians, specified as an n-by-3 array of Euler rotation angles. Each row represents one Euler angle set.

Example: [0 0 1.5708]

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

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

Data Types: string | char

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 Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2015a