quatmultiply

Calculate product of two quaternions

Syntax

n = quatmultiply(q,r)

Description

n = quatmultiply(q,r) calculates the quaternion product, n, for two given quaternions, q and r. Inputs q and r can each be either an m-by-4 matrix containing m quaternions, or a single 1-by-4 quaternion. n returns an m-by-4 matrix of quaternion products. Each element of q and r must be a real number. Additionally, q and r have their scalar number as the first column.

The quaternions have the form of

q=q0+iq1+jq2+kq3

and

r=r0+ir1+jr2+kr3

The quaternion product has the form of

n=q×r=n0+in1+jn2+kn3

where

n0=(r0q0r1q1r2q2r3q3)n1=(r0q1+r1q0r2q3+r3q2)n2=(r0q2+r1q3+r2q0r3q1)n3=(r0q3r1q2+r2q1+r3q0)

    Note   Quaternion multiplication is not commutative.

Examples

Determine the product of two 1-by-4 quaternions:

q = [1 0 1 0];
r = [1 0.5 0.5 0.75];
mult = quatmultiply(q, r)


mult =

    0.5000    1.2500    1.5000    0.2500

Determine the product of a 1-by-4 quaternion with itself:

q = [1 0 1 0];
mult = quatmultiply(q)


mult =

     0     0     2     0

Determine the product of 1-by-4 and 2-by-4 quaternions:

q = [1 0 1 0];
r = [1 0.5 0.5 0.75; 2 1 0.1 0.1];
mult = quatmultiply(q, r)


mult =

    0.5000    1.2500    1.5000    0.2500
    1.9000    1.1000    2.1000   -0.9000

References

[1] Stevens, Brian L., Frank L. Lewis, Aircraft Control and Simulation, Wiley–Interscience, 2nd Edition.

Was this topic helpful?