MATLAB 的 rem 与 mod 都返回除法余数。正数时结果相同,负数时符号规则不同。
语法
r = rem(x, y)
r = mod(x, y)符号规则
| 函数 | 结果符号 | 计算规则 |
|---|---|---|
rem | 与被除数 x 相同 | x - n.*y,n = fix(x./y) |
mod | 与除数 y 相同 | x - n.*y,n = floor(x./y) |
示例
正数时两者一致:
rem(10, 3)ans = 1mod(10, 3)ans = 1负数时差异显现:
rem(-7, 3) % -1(与 -7 同号)
mod(-7, 3) % 2(与 3 同号)判断奇偶:
mod(1:6, 2)ans =
1 0 1 0 1 0周期性取模(如把角度折到 0~360):
mod(370, 360)ans = 10注意事项
- 判断整除用
mod(x,y)==0; - y 不能为 0:rem 得 NaN,mod(x,0) 返回 x;
- 数组逐元素计算,x 和 y 尺寸需一致(或一方为标量)。