mod
除后的余数(取模运算)
说明
示例
计算一个整数集除以负除数后的余数,该整数集包括正值和负值。请注意,如果除数为负数,则非零结果始终为负数。
a = [-4 -1 7 9]; m = -3; b = mod(a,m)
b = 1×4
-1 -1 -2 0
计算多个角除以模数 2*pi 后的余数。请注意,mod 将尝试补偿浮点四舍五入取整的影响,以尽可能生成精确的整数结果。
theta = [0.0 3.5 5.9 6.2 9.0 4*pi]; m = 2*pi; b = mod(theta,m)
b = 1×6
0 3.5000 5.9000 6.2000 2.7168 0
输入参数
被除数,指定为标量、向量、矩阵、多维数组、表或时间表。a 必须为任意数值类型的实数值数组。输入 a 和 m 必须具有相同的大小或具有兼容的大小(例如,a 是一个 M×N 矩阵,m 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
如果 a 是 duration 数组,m 是数值数组,则 m 中的值被视为 24 小时天的天数。
如果一个输入是整数数据类型,则另一输入必须是相同的整数类型或 double 标量。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable
除数,指定为标量、向量、矩阵、多维数组、表或时间表。m 必须为任意数值类型的实数值组成的数组。输入 a 和 m 必须具有相同的大小或具有兼容的大小(例如,a 是一个 M×N 矩阵,m 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
如果 m 是 duration 数组,a 是数值数组,则 a 中的值被视为 24 小时天的天数。
如果一个输入是整数数据类型,则另一输入必须是相同的整数类型或 double 标量。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable
详细信息
除后所得余数的概念的定义不是唯一的,两个函数 mod 和 rem 各计算不同的结果。mod 函数生成一个为零或与除数具有相同符号的结果。rem 函数生成一个为零或与被除数具有相同符号的结果。
另一个差别是当除数为零时的约定。mod 函数遵从 mod(a,0) 返回 a 的约定,而 rem 函数遵从 rem(a,0) 返回 NaN 的约定。
两个结果都有其各自的用途。例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。
mod 函数对同余关系很有用:当且仅当 mod(a,m) == mod(b,m) 时,a 和 b 为同余 (mod m)。例如,23 和 13 同余 (mod 5)。
参考
[1] Knuth, Donald E. The Art of Computer Programming. Vol. 1. Addison Wesley, 1997 pp.39–40.
扩展功能
mod 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
使用输出类执行算术运算。由于舍入误差导致的差异,结果可能与 MATLAB® 不匹配。
如果其中一个输入的类型为
int64或uint64,则两个输入的类型必须相同。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
mod 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出mod 函数可以对表或时间表中的所有变量执行计算,而无需通过索引访问这些变量。所有变量都必须具有支持计算的数据类型。有关详细信息,请参阅Direct Calculations on Tables and Timetables。
另请参阅
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)