FreeMat: REM Remainder After Division

FreeMat

- Main Page
- Related Pages

REM Remainder After Division

Section: Mathematical Functions

# Usage

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.

# Example

The following examples show some uses of `rem` arrays.

    --> rem(18,12)

    ans =
     6

    --> rem(6,5)

    ans =
     1

    --> rem(2*pi,pi)

    ans =
     0

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