QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 7289|回复: 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】4 \. G* N7 K" H5 Q/ d% ~
    本帖来自:数学中国 作者: 木长春 日期: 2009-11-15 19:51 您是本帖第535个浏览者
    : r8 I- b8 @2 X1 d. T+ ~昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem)是不同的,今天在网上具体查了一下:' N! k3 `, w- d0 ?4 {( `

    / Z) u; V; i7 L$ U3 f通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于:
    ! q/ o. L/ \( Q8 [! e% ^+ P    当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一样。
    $ F7 V! E! X2 Z    这是由于这两个函数的生成机制不同,rem函数采用fix函数,而mod函数采用了floor函数(这两个函数是用来取整的,fix函数向0方向舍入,floor函数向无穷小方向舍入)。
    % o/ Y& k2 I+ H  ^    rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y),而mod(x,y)返回的是x-n.*y,当y不等于0时,n=floor(x./y)
    7 ^$ \  o: r# `9 ]1 G; ~1 M) e# j2 B+ N& N# X
    , w3 c0 ?/ @5 |
    两个异号整数取模取值规律            (当是小数时也是这个运算规律,这一点好像与C语言的不太一样)
    $ j" X3 u2 t( d; m' D. P( O; ^; X' _1 T1 B
    先将两个整数看作是正数,再作除法运算! ^, e6 ~& V3 k" \
    ①能整除时,其值为0
    % G! Z' n4 c$ k/ y# f+ F( ]②不能整除时,其值=除数×(整商+1)-被除数
    3 V8 A6 \$ N3 i: I& W6 @8 f1 e# k; l) a: M9 j5 @3 t3 J1 A
    例:mod(36,-10)=-4
    ! A/ w5 L: Q3 d: \即:36除以10的整数商为3,加1后为4;其与除数之积为40;再与被数之差为(40-36=4);取除数的符号。所以值为-4。
    2 L. ?2 C, y. n3 ?  q. Z& d9 O9 m例:mod(9,1.2)=0.6% y% h  F9 d! ~4 V9 i
    例:0 Y) _5 A0 }* |+ N5 M
    >> mod(5,2)
    2 P3 R1 s% a. d5 p8 Rans =1                   %“除数”是正,“余数”就是正
    # s5 U! O$ s2 c>> mod(-5,2)2 \. n) ], Q5 h/ Z6 b$ D4 C
    ans =1  b5 @- Q! q0 O5 U' e; [" j
    >> mod(5,-2): f" F& v4 q. r& u: f4 d
    ans =-1                  %“除数”是负,“余数‘就是负
    0 L# S- f3 [# s& M" f9 \; e( N>> mod(-5,-2)
    " M' `: I9 E1 q( w+ Xans =-1                  %用rem时,不管“除数”是正是负,“余数”的符号与“被除数”的符号相同  `- @2 q4 t# j7 V7 J. ^- w" F
    >> rem(5,2)
    % Z: q2 {1 x3 Z4 Xans =1                   %“被除数”是正,“余数”就是正
    5 U7 j( N. _5 S% v: d>> rem(5,-2)2 _) r. U# [+ T$ {! f
    ans =1# d2 F6 |) K( R0 M7 R6 }
    >> rem(-5,2)( w: s, e; G: k6 j
    ans =-1                 %“被除数”是负,“余数”就是负
    * [" y3 b2 @( R, f8 I>> rem(-5,-2)- D) Y" q! m1 ^7 r
    ans =-1
    , |2 f" C0 z, E& Q7 o3 N* E+ Z7 ^" \/ n. F( ~

    2 g0 I. C2 @. F! V" O. M1 X- P/ q8 _1 W慢慢体会,两者确实不一样: O/ R7 y) h( O; }' B4 [& [
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏1 支持支持1 反对反对0 微信微信

    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

    回复

    使用道具 举报

    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

    lyj658 发表于 2012-4-14 21:01
    - f$ n  O8 a5 ~; M0 @帮你顶一下
      ?. w3 G( z: q2 g3 G0 K
    谢谢啦 哈哈
    回复

    使用道具 举报

    挣未来        

    1

    主题

    4

    听众

    71

    积分

    升级  69.47%

  • TA的每日心情

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

    [LV.3]偶尔看看II

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-9 20:43 , Processed in 0.781857 second(s), 87 queries .

    回顶部