您的位置:首页 > 编程语言 > MATLAB

matlab中rem与mod函数的区别

2015-10-10 08:50 281 查看
语法格式:

rem(x,y):求整除x/y的余数

mod(x,y):求模

rem(x,y)=x-y.*fix(x./y); (fix()向0取整)

mod(x,y)=x-y.*floor(x./y); (floor()向左取整,以数抽为准,朝负无穷方向取整)

如果x和y的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y)(正数与正数,负数与负数,取整结果两个函数效果一样)

如果x和y的符号相反,那么mod(x,y)=rem(x,y)+y(正数与负数的取整,看你希望得到什么结果就选择用什么函数) ——当x./y非整数(且xy<0)时,fix(x./y)= floor(x./y)+1;

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

示例

rem(3,2)=1;mod(3,2)=1;

rem(-3,-2)=-1;mod(-3,-2)=-1;

rem(3,-2)=1;mod(3,-2)=-1;

rem(-3,2)=-1;mod(-3,2)=1;

mod(3,2)=rem(3,2)=1;

mod(3,-2)=rem(3,-2)-2=1-2=-1;

mod(-3,2)=rem(-3,2)+2=-1+2=1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: