MATLAB 常见取整函数

MATLAB常见取整函数

函数 功能
round 四舍五入
fix 保留整数部分
floor 向下取整
ceil 向上取整
sign 提取符号
rem 取余数
mod 取模数

>> round(4.6)
ans =5
>> fix(4.6)
ans =4
>> floor(4.6)
ans =4
>> ceil(4.6)
ans =5
>> sign(-4.6)
ans =
-1
>> sign(4.6)
ans =1
>> sign(0)
ans =0
>> rem(5,2)
ans =1
>>mod(16,-3)
ans =
-2 

取模(mod)与取余(rem)是不同的
两个函数的生成机制不同
rem函数采用fix函数,而mod函数采用了floor函数
rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y)
mod ( x , y )返回的是x-n.*y,当y不等于0时,n=floor(x./y)

如:
mod(-1,3)=2
因为-1/3=-0.33333333333333
mod使用floor函数,所以商变为-1。 -1-(-1*3)=2

rem(-1,3)=-1
因为-1/3=-0.33333333333
rem使用fix函数,所以商变为0。 -1- (0*3)=-1

注释内容参考地址
http://www.cnblogs.com/xfzhang/archive/2010/11/25/1887214.html

Published by

风君子

独自遨游何稽首 揭天掀地慰生平