Matlab的整数化函数为: fix, floor, ceil, round.具体应用方法如下。
fix朝零方向取整,例如fix(-1.3 )=-1; fix(1.3 )=1;
3358www.Sina.com/顾名思义是地板,所以取比它小的整数floor,
例如floor(-1.3 )=-2; floor(1.3 )=1; floor(-1.8 )=-2,floor ) ) 1.8 )=1
3358www.Sina.com/与floor相反,意思是天花板,即比它大的最小整数朝负无穷方向取整,
例如ceil(-1.3 )=-1; Ceil(1.3 )=2; ceil(-1.8 )=-1,ceil(-1.8 )=2
ceil,例如round(-1.3 )=-1; round(-1.52 )=-2; round(1.3 )=1; round(1.52 )=2。
朝正无穷方向取整
通常,模运算也称为剩余运算,它们的返回结果都是剩余。 rem和mod的唯一区别是:
round四舍五入到最近的整数
这是因为这两个函数的生成机制不同,rem函数采用fix函数,mod函数采用floor函数。 这两个函数用于取整数,fix函数向0方向舍入,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)与取余(rem)的不同:(小数的情况也是这个运算法则,这一点好像和c语言的不太一样。
先把两个整数看成正数,再做除法
如果能被整除,其值为0
当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一样。
示例: mod(36,-10 )=-4
也就是说,36除以10得到的整数商是3,加1等于4; 与除数之积为40。与被数之差为(40-36=4); 取除数的符号。 所以值是-4。
示例: mod (9,1.2 )=0.6
例如:
模式(5,2 ) )。
ans=1%“除数”为正,“馀数”为正
模式(-5,2 ) )。
ans=1
模式(5,-2) )。
ans=-1%“除数”为负,“馀数”为负
mod(-5,-2) ) ) ) ) ) ) ) ) ) ) ) ) )。
如果ans=-1%使用rem,则无论“除数”是正还是负,“馀数”符号都与“被除数”符号相同
rem (5,2 )。
ans=1%“被除数”为正,“馀数”为正
rem(5,-2) )。
ans=1
rem (-5,2 ) ) ) ) ) ) )。
ans=-1%“被除数”为负,“馀数”为负
rem(-5,-2) )。
ans=-1