matlab rem和mod,Matlab的mod和rem
通常取模運(yùn)算也叫取余運(yùn)算,它們返回結(jié)果都是余數(shù).rem和mod唯一的區(qū)別在于:
當(dāng)x和y的正負(fù)號(hào)一樣的時(shí)候,兩個(gè)函數(shù)結(jié)果是等同的;當(dāng)x和y的符號(hào)不同時(shí),rem函數(shù)結(jié)果的符號(hào)和x的一樣,而mod和y一樣。
這是由于這兩個(gè)函數(shù)的生成機(jī)制不同,rem函數(shù)采用fix函數(shù),而mod函數(shù)采用了floor函數(shù)(這兩個(gè)函數(shù)是用來取整的,fix函數(shù)向0方向舍入,floor函數(shù)向無窮小方向舍入)。
rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y),而mod(x,y)返回的是x-n.*y,當(dāng)y不等于0時(shí),n=floor(x./y)
兩個(gè)異號(hào)整數(shù)取模取值規(guī)律 (當(dāng)是小數(shù)時(shí)也是這個(gè)運(yùn)算規(guī)律,這一點(diǎn)好像與C語言的不太一樣)
先將兩個(gè)整數(shù)看作是正數(shù),再作除法運(yùn)算
①能整除時(shí),其值為0
②不能整除時(shí),其值=除數(shù)×(整商+1)-被除數(shù)
例:mod(36,-10)=-4
即:36除以10的整數(shù)商為3,加1后為4;其與除數(shù)之積為40;再與被數(shù)之差為(40-36=4);取除數(shù)的符號(hào)。所以值為-4。
例:mod(9,1.2)=0.6;
例:
>> mod(5,2)
ans =1 ? ? ? ? ? ? ? ? ? %“除數(shù)”是正,“余數(shù)”就是正
>> mod(-5,2)
ans =1
>> mod(5,-2)
ans =-1 ? ? ? ? ? ? ? ? ?%“除數(shù)”是負(fù),“余數(shù)‘就是負(fù)
>> mod(-5,-2)
ans =-1 ? ? ? ? ? ? ? ? ?%用rem時(shí),不管“除數(shù)”是正是負(fù),“余數(shù)”的符號(hào)與“被除數(shù)”的符號(hào)相同
>> rem(5,2)
ans =1 ? ? ? ? ? ? ? ? ? %“被除數(shù)”是正,“余數(shù)”就是正
>> rem(5,-2);
ans =1
>> rem(-5,2)
ans =-1 ? ? ? ? ? ? ? ? %“被除數(shù)”是負(fù),“余數(shù)”就是負(fù)
>> rem(-5,-2)
ans =-1
本文來源于網(wǎng)絡(luò):查看?>https://blog.csdn.net/u012939857/article/details/64141356
總結(jié)
以上是生活随笔為你收集整理的matlab rem和mod,Matlab的mod和rem的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html为何转换为json,将HTML元
- 下一篇: php怎么实现匿名评论,PHP-匿名对象