matlab取整函式有:fix, floor, ceil, round.具體應用方法如下:
fix朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor,顧名思義,就是地板,所以是取比它小的整數,即朝負無窮方向取整,
如floor(-1.3)=-2; floor(1.3)=1;floor(-1.8)=-2,floor(1.8)=1
ceil,與floor相反,它的意思是天花板,也就是取比它大的最小整數,即朝正無窮方向取整,
如ceil(-1.3)=-1; ceil(1.3)=2;ceil(-1.8)=-1,ceil(1.8)=2
round四捨五入到最近的整數,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。
取模(mod)與取餘(rem)的不同:
通常取模運算也叫取餘運算,它們返回結果都是餘數.rem和mod唯一的區別在於:
當x和y的正負號一樣的時候,兩個函式結果是等同的;當x和y的符號不同時,rem函式結果的符號和x的一樣,而mod和y一樣。
這是由於這兩個函式的生成機制不同,rem函式採用fix函式,而mod函式採用了floor函式(這兩個函式是用來取整的,fix函式向0方向捨入,floor函式向無窮小方向捨入)。
rem(x,y)命令返回的是x-n.*y,如果y不等於0,其中的n = fix(x./y),而mod(x,y)返回的是x-n.*y,當y不等於0時,n=floor(x./y)
兩個異號整數取模取值規律(當是小數時也是這個運算規律,這一點好像與c語言的不太一樣)
先將兩個整數看作是正數,再作除法運算
①能整除時,其值為0
②不能整除時,其值=除數×(整商+1)-被除數 ,並取除數的符號
例:mod(36,-10)=-4
即:36除以10的整數商為3,加1後為4;其與除數之積為40;再與被數之差為(40-36=4);取除數的符號。所以值為-4。
例:mod(9,1.2)=0.6
例:>> mod(5,2)
ans =1 %「除數」是正,「餘數」就是正
>> mod(-5,2)
ans =1
>> mod(5,-2)
ans =-1 %「除數」是負,「餘數『就是負
>> mod(-5,-2)
ans =-1 %用rem時,不管「除數」是正是負,「餘數」的符號與「被除數」的符號相同
>> rem(5,2)
ans =1 %「被除數」是正,「餘數」就是正
>> rem(5,-2)
ans =1
>> rem(-5,2)
ans =-1 %「被除數」是負,「餘數」就是負
>> rem(-5,-2)
ans =-1
MATLAB的取整函式與取餘函式
原文 1 fix x 截尾取整 fix 3.12 3.12 ans 3 3 2 floor x 不超過x 的最大整數.高斯取整 floor 3.12 3.12 ans 3 4 3 ceil x 大於x 的最小整數 ceil 3.12 3.12 ans 4 3 4 四捨五入取整 round 3.12 ...
取餘數 取餘函式和取整函式的關係
論求餘函式和取整函式的關係 1.下面兩函式相等,不言自明。2.當 b 大於 a ab大於0時,無論b是什麼,函式值都為a,顯然成立。被除數是自變數時的取餘函式,介紹一下,內定商是整數,函式值是被除數除以除數後,商為最大整數時得到的餘數。然而,經過我靈光一閃之後發現取餘函式 被除數取自變數 能用取整函...
MATLAB 取整函式
呼叫格式 說明y fix x 將x的每個元素朝零方向四捨五入為最近的整數。呼叫格式 說明y ceil x 將 x 的每個元素四捨五入到大於或等於該元素的最接近整數。y ceil t 將 duration 陣列 t 的每個元素四捨五入到大於或等於此元素的最接近的秒數。y ceil t,unit 將 t...