Main Content


Quaternion normalization

Since R2018b



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

Version History

Introduced in R2018b