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)一样,用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;
floor 向下取整,即朝负无穷方向舍入
round 取整,取最近的整数
ceil 是向离它最近的大整数圆整 如a = [-1.9, -0.2, 3.4, 5.6, 7, 2.4+3.6i] 圆整后:a=[-1,0,4, 6, 7 ,3+4i] ,与floor相反
本文详细解析了Matlab中rem()和mod()函数的功能及使用场景。rem()用于求取余数,而mod()则用于求模运算。两者在处理正数时结果一致,但在涉及负数时有所不同。文章通过具体实例展示了如何根据需求选择合适的函数。
mod floor round ceil函数&spm=1001.2101.3001.5002&articleId=8663435&d=1&t=3&u=f1d8300190164438b1ee84bb80ed2bf1)
6387

被折叠的 条评论
为什么被折叠?



