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 rotation angles to quaternion


quaternion = angle2quat(rotationAng1,rotationAng2,rotationAng3)
quaternion = angle2quat(rotationAng1,rotationAng2,rotationAng3,rotationSequence)


quaternion = angle2quat(rotationAng1,rotationAng2,rotationAng3) calculates the quaternion for three rotation angles.

quaternion = angle2quat(rotationAng1,rotationAng2,rotationAng3,rotationSequence) calculates the quaternion using a rotation sequence.

Input Arguments


m-by-1 array of first rotation angles, in radians.


m-by-1 array of second rotation angles, in radians.


m-by-1 array of third rotation angles, in radians.


Rotation sequence. For example, the default 'ZYX' represents a sequence where rotationAng1 is z-axis rotation, rotationAng2 is y-axis rotation, and rotationAng3 is x-axis rotation.

'ZYX' (default)

Output Arguments


m-by-4 matrix containing m quaternions. quaternion has its scalar number as the first column.


Determine the quaternion from rotation angles:

yaw = 0.7854; 
pitch = 0.1; 
roll = 0;
q = angle2quat(yaw, pitch, roll)
q =
    0.9227   -0.0191    0.0462    0.3822

Determine the quaternion from rotation angles and rotation sequence:

yaw = [0.7854 0.5]; 
pitch = [0.1 0.3]; 
roll = [0 0.1];
q = angle2quat(pitch, roll, yaw, 'YXZ')
q =
    0.9227    0.0191    0.0462    0.3822
    0.9587    0.0848    0.1324    0.2371

Introduced in R2007b