ldivide, .\

Left array division



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.


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):

a=[a1a2],b=[b1b2b3],          b.\a=[b1.\a1b1.\a2b2.\a1b2.\a2b3.\a1b3.\a2].

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


  • 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

Extended Capabilities

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Introduced before R2006a