# rdivide, ./

Right array division

## Syntax

``x = A./B``
``x = rdivide(A,B)``

## Description

example

````x = A./B` divides each element of `A` by the corresponding element of `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.```
````x = rdivide(A,B)` is an alternative way to divide `A` by `B`, but is rarely used. It enables operator overloading for classes. ```

## Examples

collapse all

Create two numeric arrays, `A` and `B`, and divide the second array, `B`, into the first, `A`.

```A = [2 4 6 8; 3 5 7 9]; B = 10*ones(2,4); x = A./B```
```x = 2×4 0.2000 0.4000 0.6000 0.8000 0.3000 0.5000 0.7000 0.9000 ```

Divide an `int16` scalar value by each element of an `int16` vector.

```a = int16(10); b = int16([3 4 6]); x = a./b```
```x = 1x3 int16 row vector 3 3 2 ```

MATLAB® rounds the results when dividing integer data types.

Create an array and divide it into a scalar.

```C = 5; D = magic(3); x = C./D```
```x = 3×3 0.6250 5.0000 0.8333 1.6667 1.0000 0.7143 1.2500 0.5556 2.5000 ```

When you specify a scalar value to be divided by an array, the scalar value expands into an array of the same size, then element-by-element division is performed.

Create a 1-by-2 row vector and 3-by-1 column vector and divide them.

```a = 1:2; b = (1:3)'; a ./ b```
```ans = 3×2 1.0000 2.0000 0.5000 1.0000 0.3333 0.6667 ```

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}\text{\hspace{0.17em}}./\text{\hspace{0.17em}}{\mathit{b}}_{1}& {\mathit{a}}_{2}\text{\hspace{0.17em}}./\text{\hspace{0.17em}}{\mathit{b}}_{1}\\ {\mathit{a}}_{1}\text{\hspace{0.17em}}./\text{\hspace{0.17em}}{\mathit{b}}_{2}& {\mathit{a}}_{2}\text{\hspace{0.17em}}./\text{\hspace{0.17em}}{\mathit{b}}_{2}\\ {\mathit{a}}_{1}\text{\hspace{0.17em}}./\text{\hspace{0.17em}}{\mathit{b}}_{3}& {\mathit{a}}_{2}\text{\hspace{0.17em}}./\text{\hspace{0.17em}}{\mathit{b}}_{3}\end{array}\right].$`

## Input Arguments

collapse all

Operands, specified as scalars, vectors, matrices, or multidimensional arrays. Inputs `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.

• If `A` or `B` is an integer data type, then the other input must be the same integer type or be a scalar double. Operands with an integer data type cannot be complex.

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

## Tips

• The element-wise operators `./` and `.\` are related to each other by the equation `A./B = B.\A`.

• When dividing integers, use `idivide` for more rounding options.

• MATLAB® does not support complex integer division.

## Compatibility Considerations

expand all

Behavior changed in R2016b

Behavior changed in R2020b