Matlab中mod函数使用

Matlab中mod函数使用目录 语法 说明 mod 和 rem 的区别 同余关系 示例 标量被除后的余数 向量被除后的余数 正值和负值被除后的余数 用负除数除后的余数 浮点值被除后的余数 mod 函数是两个数相除后的余数 取模运算 语法 b mod a m a 被除数

大家好,我是讯享网,很高兴认识大家。

目录

语法

说明

mod 和 rem 的区别

同余关系

示例

标量被除后的余数

向量被除后的余数

正值和负值被除后的余数

用负除数除后的余数

浮点值被除后的余数


        mod函数是两个数相除后的余数(取模运算)。

语法

b = mod(a,m)

讯享网

a - 被除数

         被除数,指定为标量、向量、矩阵或多维数组。a 必须是任意数值类型的实数值数组。数值输入 a 和 m 必须具有相同的大小或兼容的大小(例如,a 是 M×N 矩阵,m 是标量或 1×N 行向量)。

         如果 a 和 m 是持续时间数组,则它们必须具有相同的大小,除非其中一个为标量。如果一个输入是持续时间数组,则另一个输入可以是持续时间数组或数值数组。在此上下文中,mod 将数值视为标准 24 小时制的数字。

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


讯享网

m - 除数

         除数,指定为标量、向量、矩阵或多维数组.m 必须是任意数值类型的实数值数组。数值输入a和m必须具有相同的大小或兼容的大小(例如,a是 M×N 矩阵,m 是标量或 1×N 行向量)。

         如果a和m是持续时间数组,则它们必须具有相同的大小,除非其中一个为标量。如果一个输入是持续时间数组,则另一个输入可以是持续时间数组或数值数组。在此上下文中,mod 将数值视为标准 24 小时制的数字。

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

说明

b = mod(a,m) 返回 a 除以 m 后的余数,其中 a 是被除数,m 是除数。此函数通常称为取模运算,表达式为 b = a - m.*floor(a./m)。mod 函数遵从 mod(a,0) 返回 a 的约定。

mod 和 rem 的区别

       除后所得余数的概念的定义不是唯一的,两个函数 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)。

示例

标量被除后的余数

       计算 23 对 5 取模。

讯享网b = mod(23,5) b = 3

向量被除后的余数

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

a = 1:5; m = 3; b = mod(a,m) b = 1×5 1 2 0 1 2 

正值和负值被除后的余数

      计算一个含正负值的整数集被除后的余数。请注意,如果除数为正数,则非零结果始终为正数。

讯享网a = [-4 -1 7 9]; m = 3; b = mod(a,m) b = 1×4 2 2 1 0

用负除数除后的余数

      计算一个整数集除以负除数后的余数,该整数集包括正值和负值。请注意,如果除数为负数,则非零结果始终为负数。

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

小讯
上一篇 2025-03-11 22:25
下一篇 2025-03-30 11:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/25046.html