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)