power, .^

Element-wise power

Description

example

C = A.^B raises each element of A to the corresponding powers in B. The sizes of A and B must be the same or be compatible.

If the sizes of A and B are compatible, then the two arrays implicitly expand to match each other. For example, if one of A or B is a scalar, then the scalar is combined with each element of the other array. Also, vectors with different orientations (one row vector and one column vector) implicitly expand to form a matrix.

C = power(A,B) is an alternate way to execute A.^B, but is rarely used. It enables operator overloading for classes.

Examples

collapse all

Create a vector, A, and square each element.

A = 1:5;
C = A.^2
C = 1×5

1     4     9    16    25

Create a matrix, A, and take the inverse of each element.

A = [1 2 3; 4 5 6; 7 8 9];
C = A.^-1
C = 3×3

1.0000    0.5000    0.3333
0.2500    0.2000    0.1667
0.1429    0.1250    0.1111

An inversion of the elements is not equal to the inverse of the matrix, which is instead written A^-1 or inv(A).

Create a 1-by-2 row vector and a 3-by-1 column vector and raise the row vector to the power of the column vector.

a = [2 3];
b = (1:3)';
a.^b
ans = 3×2

2     3
4     9
8    27

The result is a 3-by-2 matrix, where each (i,j) element in the matrix is equal to a(j) .^ b(i):

$\mathit{a}=\left[{\mathit{a}}_{1}\text{\hspace{0.17em}}{\mathit{a}}_{2}\right],\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\mathit{b}=\left[\begin{array}{c}{\mathit{b}}_{1}\\ {\mathit{b}}_{2}\\ {\mathit{b}}_{3}\end{array}\right],\text{\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}\hspace{0.17em}}\text{\hspace{0.17em}}\mathit{a}\text{\hspace{0.17em}}.ˆ\text{\hspace{0.17em}}\mathit{b}=\left[\begin{array}{cc}{{\mathit{a}}_{1}}^{{\mathit{b}}_{1}}& {{\mathit{a}}_{2}}^{{\mathit{b}}_{1}}\\ {{\mathit{a}}_{1}}^{{\mathit{b}}_{2}}& {{\mathit{a}}_{2}}^{{\mathit{b}}_{2}}\\ {{\mathit{a}}_{1}}^{{\mathit{b}}_{3}}& {{\mathit{a}}_{2}}^{{\mathit{b}}_{3}}\end{array}\right].$

Calculate the roots of -1 to the 1/3 power.

A = -1;
B = 1/3;
C = A.^B
C = 0.5000 + 0.8660i

For negative base A and noninteger B, the power function returns complex results.

Use the nthroot function to obtain the real roots.

C = nthroot(A,3)
C = -1

Input Arguments

collapse all

Operands, specified as scalars, vectors, matrices, or multidimensional arrays. A and B must either be the same size or have sizes that are compatible (for example, A is an M-by-N matrix and B is a scalar or 1-by-N row vector). For more information, see Compatible Array Sizes for Basic Operations.

• Operands with an integer data type cannot be complex.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Complex Number Support: Yes

collapse all

IEEE Compliance

For real inputs, power has a few behaviors that differ from those recommended in the IEEE®-754 Standard.

MATLAB® IEEE

power(1,NaN)

NaN

1

power(NaN,0)

NaN

1

Compatibility Considerations

expand all

Behavior changed in R2016b