欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解数学建模中的 Matlab:rem 和 mod 函数在实际应用中的差异探索

最编程 2024-02-12 07:51:43
...

  求余函数和求模函数有相同的地方但又不完全一致,主要的区别在于对负整数进行除法运算的操作不同。对于整数a,b来说,求余运算或求模运算的方法都是先求整数商c=a/b,再求余数或模r=a-c*b。求余运算在取c的值时,向0方向取整(fix函数),而求模运算在计算c的值时,向负无穷方向取整(floor函数)。
  rem与mod函数的区别是,当 b ≠ 0 b\ne 0 b=0时,rem(a,b)=a-b.*fix(a./b),而mod(a,b)=a-b.*floor(a./b);当 b = 0 b=0 b=0时,rem(a,0)=NaN,而mod(a,0)=a。
  如果a、b符号相同,那么rem(a,b)=mod(a,b)。如果a、b符号相反,那么mod(a,b)=rem(a,b)+b。rem(a,b)的符号与a相同,而mod(a,b)的符号与b相同。例如,rem(7,4)=mod(7,4)=3;rem(-7,-4)=mod(-7,-4)=-3;rem(7,-4)=3,而mod(7,-4)=-1。

当正数与负数取余时,当得到的余数结果的符号希望跟除数(x)一样,用mod()函数;当得到的余数结果的符号希望跟被除数(y)一样,用rem()函数


推荐阅读