matlab里rem和mod函数区别?据说rem(x,y)的ans符号与x相同,mod(x,y)的ans符号与y相同,但是自己试程序的时候发现结果是不一样的>> rem(-12.2,2)ans =-0.2000>> mod(-12.2,2)ans =1.8000为什么用mod()函数的结果
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 02:23:32
matlab里rem和mod函数区别?据说rem(x,y)的ans符号与x相同,mod(x,y)的ans符号与y相同,但是自己试程序的时候发现结果是不一样的>> rem(-12.2,2)ans =-0.2000>> mod(-12.2,2)ans =1.8000为什么用mod()函数的结果
matlab里rem和mod函数区别?
据说rem(x,y)的ans符号与x相同,mod(x,y)的ans符号与y相同,
但是自己试程序的时候发现结果是不一样的
>> rem(-12.2,2)
ans =
-0.2000
>> mod(-12.2,2)
ans =
1.8000
为什么用mod()函数的结果会得到1.
matlab里rem和mod函数区别?据说rem(x,y)的ans符号与x相同,mod(x,y)的ans符号与y相同,但是自己试程序的时候发现结果是不一样的>> rem(-12.2,2)ans =-0.2000>> mod(-12.2,2)ans =1.8000为什么用mod()函数的结果
没问题啊,mod函数的结果与y符号相同,这里y=2是正数,所以得到的是1.8.
mod(x,y)和rem(x,y)的计算表达式都是
x - n.*y
但n的定义不同,对于rem
n = fix(x./y) = -6
而对于mod
n = floor(x./y) = -7
所以
rem(-12.2,2) = -12.2 - (-6)*2 = -0.2
mod(-12.2,2) = -12.2 - (-7)*2 = 1.8
概括起来:如果x、y同号,rem和mod结果相同;如果x、y不同号,则rem(x,y)的符号与x相同,mod(x,y)的符号与y相同.