## 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
```