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/06/15 10:57:03
![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()函数的结果](/uploads/image/z/5479260-60-0.jpg?t=matlab%E9%87%8Crem%E5%92%8Cmod%E5%87%BD%E6%95%B0%E5%8C%BA%E5%88%AB%3F%E6%8D%AE%E8%AF%B4rem%EF%BC%88x%2Cy%EF%BC%89%E7%9A%84ans%E7%AC%A6%E5%8F%B7%E4%B8%8Ex%E7%9B%B8%E5%90%8C%2Cmod%EF%BC%88x%2Cy%EF%BC%89%E7%9A%84ans%E7%AC%A6%E5%8F%B7%E4%B8%8Ey%E7%9B%B8%E5%90%8C%2C%E4%BD%86%E6%98%AF%E8%87%AA%E5%B7%B1%E8%AF%95%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%97%B6%E5%80%99%E5%8F%91%E7%8E%B0%E7%BB%93%E6%9E%9C%E6%98%AF%E4%B8%8D%E4%B8%80%E6%A0%B7%E7%9A%84%3E%3E+rem%28-12.2%2C2%29ans+%3D-0.2000%3E%3E+mod%28-12.2%2C2%29ans+%3D1.8000%E4%B8%BA%E4%BB%80%E4%B9%88%E7%94%A8mod%28%29%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E6%9E%9C)
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相同.