Main Content

# ldivide, .\

Left array division

## Syntax

``x = B.\A``
``x = ldivide(B,A)``

## Description

example

````x = B.\A` 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 = ldivide(B,A)` 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 = ones(2,3); B = [1 2 3; 4 5 6]; x = B.\A```
```x = 2×3 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 ```

Create a scalar, `c`, and divide it by a numeric array. The result is the same size as the array.

```c = 2; D = [1 2 3; 4 5 6]; x = D.\c```
```x = 2×3 2.0000 1.0000 0.6667 0.5000 0.4000 0.3333 ```

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

```a = 1:2; b = (1:3)'; b .\ a```
```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 `b(i) .\ a(j)`:

`$\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{b}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}\mathit{a}=\left[\begin{array}{cc}{\mathit{b}}_{1}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}{\mathit{a}}_{1}& {\mathit{b}}_{1}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}{\mathit{a}}_{2}\\ {\mathit{b}}_{2}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}{\mathit{a}}_{1}& {\mathit{b}}_{2}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}{\mathit{a}}_{2}\\ {\mathit{b}}_{3}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}{\mathit{a}}_{1}& {\mathit{b}}_{3}\text{\hspace{0.17em}}.\\text{\hspace{0.17em}}{\mathit{a}}_{2}\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

## See Also

### Topics

Introduced before R2006a

Download ebook