QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6916|回复: 6
打印 上一主题 下一主题

[其他经验] 取模(mod)与取余(rem)的区别——Matlab学习笔记

[复制链接]
字体大小: 正常 放大

13

主题

4

听众

433

积分

升级  44.33%

  • TA的每日心情
    开心
    2013-10-20 20:29
  • 签到天数: 103 天

    [LV.6]常住居民II

    自我介绍
    建模编程方向

    群组学术交流A

    跳转到指定楼层
    1#
    发表于 2012-4-14 16:30 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    取模(mod)与取余(rem)的区别——Matlab学习笔记【09-11-15】
    ' v; ]( V, B# y, L本帖来自:数学中国 作者: 木长春 日期: 2009-11-15 19:51 您是本帖第535个浏览者# q% Q' B( ]' R3 F$ r, f
    昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem)是不同的,今天在网上具体查了一下:  r$ a6 A/ r8 e4 p9 M9 [- z7 ~+ K( c
    # n; o4 W+ I1 E$ Q+ ?
    通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于:
    + I) @- n1 ?4 x) [5 e* y& M    当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一样。
    ; q+ [" ]$ O) U$ u  s# E    这是由于这两个函数的生成机制不同,rem函数采用fix函数,而mod函数采用了floor函数(这两个函数是用来取整的,fix函数向0方向舍入,floor函数向无穷小方向舍入)。) D* ]: k& G4 S) a
        rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y),而mod(x,y)返回的是x-n.*y,当y不等于0时,n=floor(x./y)
    ! _4 `3 h! G# ]7 I5 z/ ]: m( d
    / a! J2 o: c  Y, P* r' @$ {9 h9 {+ V; O, I6 W/ g6 ~5 s
    两个异号整数取模取值规律            (当是小数时也是这个运算规律,这一点好像与C语言的不太一样)
    - K% S! Y8 E8 s, o* g( N0 z+ P7 ~' X: Z) ~
    先将两个整数看作是正数,再作除法运算
    ) G: Z$ s, P: z/ t! |! }5 r①能整除时,其值为0
    1 `2 F# n0 L9 a* `0 H' m②不能整除时,其值=除数×(整商+1)-被除数
    7 B+ w# K  y' |* U/ T) ^+ c# Q4 Y' V+ `7 |5 i0 K: i* Q) C" P
    例:mod(36,-10)=-4
    . v, \: [' g$ z' F6 H/ Q4 Z即:36除以10的整数商为3,加1后为4;其与除数之积为40;再与被数之差为(40-36=4);取除数的符号。所以值为-4。/ @3 f) q5 J2 J  v/ f
    例:mod(9,1.2)=0.62 R( k9 W1 h8 ^* d
    例:* I( X" a" |' M5 _/ T
    >> mod(5,2)
    7 J: F9 [8 u6 `, Cans =1                   %“除数”是正,“余数”就是正
    ' m4 z4 y5 O- s6 w; C% O0 L/ X>> mod(-5,2)
    + s* l; l7 }4 j/ J; O, \' Yans =1
    4 r' p/ Q. w  j>> mod(5,-2)0 E# I2 u8 z. _
    ans =-1                  %“除数”是负,“余数‘就是负
    $ {5 S. r  m& |4 d3 _' I>> mod(-5,-2)* i8 q" w7 x6 V8 y' F  t
    ans =-1                  %用rem时,不管“除数”是正是负,“余数”的符号与“被除数”的符号相同( E- ~3 v' `! X
    >> rem(5,2)
    ; U% m) R. u# V2 ?/ w) \9 H# F2 ?ans =1                   %“被除数”是正,“余数”就是正
    % q9 h' q( K! E+ J9 F$ R/ L" |>> rem(5,-2)
    6 V- m6 ~" F6 p) c- O! Cans =1
      J# x  {' L: O6 ~>> rem(-5,2)
    ( T1 C  ^. t$ \+ t8 oans =-1                 %“被除数”是负,“余数”就是负
    ( ?- D( \/ X6 _, t4 K4 y/ Z4 g>> rem(-5,-2)
    ) I4 d5 {$ u' i4 Dans =-1
    - n, k9 M7 Z& B0 U2 w8 s
    0 r! H9 b. I3 P: s: i; `
    , v7 w0 |4 r" E. M/ Z慢慢体会,两者确实不一样
    " K, j$ V7 D# [
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持1 反对反对0 微信微信
    挣未来        

    1

    主题

    4

    听众

    71

    积分

    升级  69.47%

  • TA的每日心情

    2012-9-8 11:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    回复

    使用道具 举报

    13

    主题

    4

    听众

    433

    积分

    升级  44.33%

  • TA的每日心情
    开心
    2013-10-20 20:29
  • 签到天数: 103 天

    [LV.6]常住居民II

    自我介绍
    建模编程方向

    群组学术交流A

    回复

    使用道具 举报

    lyj658 实名认证      会长俱乐部认证 

    0

    主题

    4

    听众

    193

    积分

    升级  46.5%

  • TA的每日心情
    开心
    2014-2-14 13:56
  • 签到天数: 56 天

    [LV.5]常住居民I

    回复

    使用道具 举报

    13

    主题

    4

    听众

    433

    积分

    升级  44.33%

  • TA的每日心情
    开心
    2013-10-20 20:29
  • 签到天数: 103 天

    [LV.6]常住居民II

    自我介绍
    建模编程方向

    群组学术交流A

    回复

    使用道具 举报

    13

    主题

    4

    听众

    433

    积分

    升级  44.33%

  • TA的每日心情
    开心
    2013-10-20 20:29
  • 签到天数: 103 天

    [LV.6]常住居民II

    自我介绍
    建模编程方向

    群组学术交流A

    回复

    使用道具 举报

    13

    主题

    4

    听众

    433

    积分

    升级  44.33%

  • TA的每日心情
    开心
    2013-10-20 20:29
  • 签到天数: 103 天

    [LV.6]常住居民II

    自我介绍
    建模编程方向

    群组学术交流A

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-25 22:06 , Processed in 1.359063 second(s), 89 queries .

    回顶部