rdivide, ./

Right array division

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