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函數。對於小數也同樣適用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM