REM Remainder After Division

Section: Mathematical Functions


Computes the remainder after division of an array. The syntax for its use is
   y = rem(x,n)

where x is matrix, and n is the base of the modulus. The effect of the rem operator is to add or subtract multiples of n to the vector x so that each element x_i is between 0 and n (strictly). Note that n does not have to be an integer. Also, n can either be a scalar (same base for all elements of x), or a vector (different base for each element of x). Note that the following are defined behaviors:

  1. rem(x,0) = nan@
  2. rem(x,x) = 0@ for nonzero x
  3. rem(x,n)@ has the same sign as x for all other cases.
Note that rem and mod return the same value if x and n are of the same sign. But differ by n if x and y have different signs.


The following examples show some uses of rem arrays.
--> rem(18,12)

ans = 

--> rem(6,5)

ans = 

--> rem(2*pi,pi)

ans = 

Here is an example of using rem to determine if integers are even or odd:

--> rem([1,3,5,2],2)

ans = 
 1 1 1 0 

Here we use the second form of rem, with each element using a separate base.

--> rem([9 3 2 0],[1 0 2 2])

ans = 
         0 NaN         0         0