matlab取模与取余

Posted Steve_Nash

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab取模与取余相关的知识,希望对你有一定的参考价值。

mod函数采用floor,rem函数采用fix函数。那么什么是floor和fix?

  • fix(x):截尾取整。如:

>> fix([3.4 , -3.4])

ans =

3 -3

  • floor(x):高斯取整(不超过x的最大整数)。如:

>> floor([3.4 , -3.4])

ans =

3 -4

PS:顺便再说下另外两个取整函数ceil()和round()

ceil(x) : 大于x 的最小整数。如:

>> ceil([3.4 , -3.4])

ans =

4 -3

round(x):四舍五入取整。如:

>> round([3.4 , 3.6 , -3.4 , -3.6])

ans =

3 4 -3 -4

总结为:fix朝零方向取整,floor朝负无穷方向取整,ceil朝正无穷方向取整,round四舍五入到最近的整数

下面说回取模的事情……

公式是:值 = 被除数 - (商 * 除数)(商通过floor函数得到)

如mod(-1000 , 201) = -1000 - (-5 * 201) = 5

而mod(1000 , -201) = 1000 - (-5 * -201) = -5 

rem也同理,用该公式计算,不过是使用的fix函数。对于小数也同样适用。

以上是关于matlab取模与取余的主要内容,如果未能解决你的问题,请参考以下文章

matlab取整与取余

JAVA取模,取余问题

java中取余运算符 (%)

深入理解取整取余与取模问题

matlab mod 函数

Java之取余操作 "%"