# power, .^

Element-wise power

## Syntax

``C = A.^B``
``C = power(A,B)``

## 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