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.


Quaternion normalization


quatNormalized = normalize(quat)



quatNormalized = normalize(quat) normalizes the quaternion.

Given a quaternion of the form Q=a+bi+cj+dk, the normalized quaternion is defined as Q/a2+b2+c2+d2.


collapse all

Quaternions can represent rotations when normalized. You can use normalize to normalize a scalar, elements of a matrix, or elements of a multi-dimensional array of quaternions. Create a column vector of quaternions, then normalize them.

quatArray = quaternion([1,2,3,4; ...
                        2,3,4,1; ...
quatArrayNormalized = normalize(quatArray)
quatArrayNormalized = 3x1 quaternion array
     0.18257 + 0.36515i + 0.54772j +  0.7303k
     0.36515 + 0.54772i +  0.7303j + 0.18257k
     0.54772 +  0.7303i + 0.18257j + 0.36515k

Input Arguments

collapse all

Quaternion to normalize, specified as a scalar, vector, matrix, or multidimensional array of quaternions.

Data Types: quaternion

Output Arguments

collapse all

Normalized quaternion, returned as a quaternion or array of quaternions the same size as quat.

Data Types: quaternion

Extended Capabilities

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

Introduced in R2018a