Main Content

rem

除后的余数

说明

示例

r = rem(a,b) 返回 a 除以 b 后的余数,其中 a 是被除数,b 是除数。此函数通常称为求余运算,表达式为 r = a - b.*fix(a./b)rem 函数遵从 rem(a,0)NaN 的约定。

示例

全部折叠

计算 23 除以 5 后的余数。

a = 23;
b = 5;
r = rem(a,b)
r = 3

计算一个整数向量除以除数 3 的余数。

a = 1:5;
b = 3;
r = rem(a,b)
r = 1×5

     1     2     0     1     2

计算一个含正负值的整数集被除后的余数。请注意,非零结果的符号与被除数相同。

a = [-4 -1 7 9];
b = 3;
r = rem(a,b)
r = 1×4

    -1    -1     1     0

计算多个角除以除数 2*pi 后的余数。rem 将尝试补偿浮点四舍五入取整的影响,以尽可能生成精确的整数结果。

theta = [0.0 3.5 5.9 6.2 9.0 4*pi];
b = 2*pi;
r = rem(theta,b)
r = 1×6

         0    3.5000    5.9000    6.2000    2.7168         0

输入参数

全部折叠

被除数,指定为标量、向量、矩阵、多维数组、表或时间表。a 必须为任意数值类型的实数值数组。输入 ab 必须具有相同的大小或具有兼容的大小(例如,a 是一个 M×N 矩阵,b 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小

如果 aduration 数组,b 是数值数组,则 b 中的值被视为 24 小时天的天数。

如果一个输入是整数数据类型,则另一输入必须是相同的整数类型或 double 标量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable

除数,指定为标量、向量、矩阵、多维数组、表或时间表。b 必须为任意数值类型的实数值组成的数组。输入 ab 必须具有相同的大小或具有兼容的大小(例如,a 是一个 M×N 矩阵,b 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小

如果 bduration 数组,a 是数值数组,则 a 中的值被视为 24 小时天的天数。

如果一个输入是整数数据类型,则另一输入必须是相同的整数类型或 double 标量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable

详细信息

全部折叠

mod 和 rem 的区别

除后所得余数的概念的定义不是唯一的,两个函数 modrem 各计算不同的结果。mod 函数生成一个为零或与除数具有相同符号的结果。rem 函数生成一个为零或与被除数具有相同符号的结果。

另一个差别是当除数为零时的约定。mod 函数遵从 mod(a,0) 返回 a 的约定,而 rem 函数遵从 rem(a,0) 返回 NaN 的约定。

两个结果都有其各自的用途。例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。

扩展功能

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅