Main Content

power, .^

Element-wise quaternion power

Syntax

Description

C = A.^b raises each element of A to the corresponding power in b.

example

Examples

collapse all

Create a quaternion and raise it to a real scalar power.

A = quaternion(1,2,3,4)
A = quaternion
     1 + 2i + 3j + 4k

b = 3;
C = A.^b
C = quaternion
     -86 -  52i -  78j - 104k

Create a 2-by-1 quaternion array and raise it to powers from a 2-D array.

A = quaternion([1:4;5:8])
A = 2x1 quaternion array
     1 + 2i + 3j + 4k
     5 + 6i + 7j + 8k

b = [1 0 2; 3 2 1]
b = 2×3

     1     0     2
     3     2     1

C = A.^b
C = 2x3 quaternion array
        1 +    2i +    3j +    4k        1 +    0i +    0j +    0k      -28 +    4i +    6j +    8k
    -2110 -  444i -  518j -  592k     -124 +   60i +   70j +   80k        5 +    6i +    7j +    8k

Input Arguments

collapse all

Base, specified as a quaternion object or an array of quaternion objects of any dimensionality.

A and b must have compatible sizes. In the simplest cases, they can be the same size or one can be a scalar. Two inputs have compatible sizes if, for every dimension, the dimension sizes of the inputs are the same or one of the dimensions is 1.

Exponent, specified as a real scalar or an array of real numbers.

A and b must have compatible sizes. In the simplest cases, they can be the same size or one can be a scalar. Two inputs have compatible sizes if, for every dimension, the dimension sizes of the inputs are the same or one of the dimensions is 1.

Data Types: single | double

Output Arguments

collapse all

Each element of quaternion A raised to the corresponding power in b, returned as a quaternion object or an array of quaternion objects.

Algorithms

The polar representation of a quaternion A=a+bi+cj+dk is given by

A=A(cosθ+u^sinθ)

where θ is the angle of rotation, and û is the unit quaternion.

Quaternion A raised by a real exponent b is given by

P=A.^b=Ab(cos(bθ)+u^sin(bθ))

Extended Capabilities

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

Version History

Introduced in R2018b

See Also

Functions

Objects