【MATLAB】取模函数mod与取余函数的区别 您所在的位置:网站首页 matlab模除求余 【MATLAB】取模函数mod与取余函数的区别

【MATLAB】取模函数mod与取余函数的区别

2023-08-26 06:01| 来源: 网络整理| 查看: 265

通常取模运算也叫作取余运算,它返回的值也是余数。

mod(X,Y) and rem(X,Y) are equal if X and Y have the same sign, but differ by Y if X and Y have different signs.

这句话的含义是:如果X,Y的符号一样,则mod函数与rem函数相等,否则不同。

我们来看看例子:

mod(12,5) = 2

rem(12,5) = 2

然而,mod(12,-5) = -3       mod(-12,5) = 3

           rem(12,-5)  = 2        rem(-12,5) = -2

其原因在于rem函数采用fix函数,是固定取靠近0的那个整数,即舍去小数取整;mod函数采用floor函数,是向下取整,取小于等于这个数的第一个整数。

可以考虑一下该如何计算mod(X,Y)

            mod(12,5) = 2

                 12/5 = 2.4  向下取整 ,为2;  12 - 5*2 = 2 ;  所以mod(12,5) = 2.

            mod(12,-5) = -3

                  12/-5 = -2.4  向下取整,为-3;     12 - (-5)*(-3) = -3;  所以mod(12,-5) = -3.

            mod(-12,5) = 3

                   -12/5 = -2.4  向下取整,为-3;     -12 - 5*(-3) = 3;  所以mod(-12,5) = 3.

            显然mod(X,Y)的计算公式为:X - floor(X./Y).*Y

我们再来看看如何计算rem(X,Y)

             rem(12,5) = 2

                   12/5 = 2.4 向0取整,为2;    12 - 5*2 = 2;  所以rem(12,5) = 2.

             rem(12,-5) = 2

                   12/-5 = -2.4 向0取整,为-2;    12 - (-5)*(-2) = 2;  所以rem(12,-5) = 2.

             rem(-12,5) = -2

                   -12/5 = -2.4 向0取整,为-2;    -12 - 5*(-2) = -2;  所以rem(12,5) = -2.

             显然rem(X,Y)的计算公式为:X - fix(X./Y).*Y

根据以上,我们可以在matlab中根据需要使用相应的函数。

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有