matlab的rem 和mod 函式

2021-07-31 08:51:00 字數 665 閱讀 7967

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;

rem和mod的區別

matlab 如果你不仔細區分的話,可以把rem和mod都當作是求餘數的命令。比如,mod 3,2 ans 1 rem 3,2 ans 1可是,通過看他們的幫助檔案可以知道,這兩個數的符號一致時的結果是一樣的,但是當兩個數的符號不一樣時,就會出現不同了。mod 3,2 ans 1 rem 3,2 a...

Matlab 取模(mod)和取餘(rem)的區別

通常取模運算也叫取餘運算,它們返回結果都是餘數.rem和mod唯一的區別在於 當x和y的正負號一樣的時候,兩個函式結果是等同的 當x和y的符號不同時,rem函式結果的符號和x的一樣,而mod和y一樣。這是由於這兩個函式的生成機制不同,rem函式採用fix函式,而mod函式採用了floor函式 這兩個...

matlab中rem與mod函式的區別

語法格式 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 正數與正...