matlab 取模(mod)与取余(rem)的区别

转载 2013年12月05日 16:48:49

原文:没找到。。QAQ


昨天在学习Matlab的数学函数时,教程中提到取模(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


慢慢体会,两者确实不一样

取模(mod)与取余(rem)的区别

通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于: 当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一...
  • u013215018
  • u013215018
  • 2017年05月16日 18:02
  • 392

负数取模运算

最经在学习运算符时,遇到了负数取模(求余数)的问题。对于正数取模很简单,单复数取模不同的计算却有不同的答案。在网上看了一篇文档感觉总结的很详尽和大家共享 源地址:https://ceeji.net/b...
  • ao_xiaoqiang
  • ao_xiaoqiang
  • 2013年12月16日 20:40
  • 4584

数学与编程——求余、取模运算及其性质

一、求余运算(Remainder) (参考维基百科: http://zh.wikipedia.org/wiki/余数  http://en.wikipedia.org/wiki/Remainder...
  • chensilly8888
  • chensilly8888
  • 2015年01月18日 12:19
  • 2444

模运算与同余公式的性质

所谓的同余,顾名思义,就是许多的数被一个数d去除,有相同的余数。d数学上的称谓为模。如a=6,b=1,d=5,则我们说a和b是模d同余的。因为他们都有相同的余数1。        数学上的记法为:  ...
  • a359680405
  • a359680405
  • 2014年12月02日 10:17
  • 3870

Fibonacci数列第n项对10007取余

此处用了两种方法: 第一种方法是按照模p运算,参考自百度百科 模p运算 给定一个正整数p,任意一个整数n,一定存在等式 n = kp + r 其中k、r是整...
  • CureRrzy
  • CureRrzy
  • 2017年06月26日 17:13
  • 381

取模运算和求余运算的区别

取模运算和求余运算的区别  标签: python语言cshell脚本编程 2011-10-09 16:16 29640人阅读 评论(6) 收藏 举报  分类:   C语言...
  • screaming
  • screaming
  • 2016年03月05日 11:56
  • 1013

位运算总结 取模 取余

位运算应用口诀  清零取反要用与,某位置一可用或 若要取反和交换,轻 轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。      2 "   ...
  • black_OX
  • black_OX
  • 2015年06月08日 14:12
  • 4625

C++中double型数据的取模运算

double型数据的取模运算 1.计算思路    由于double型数据存在精度问题,所以不能以往常的思想解决---即取得 n = kp + r;这里我的思路是将double型数据放大后转为int...
  • xia_xiao_mo
  • xia_xiao_mo
  • 2014年12月03日 15:17
  • 2955

python中的除法和取模

1.除法运算     1.1 有一个操作数为负数       被除数到除数的距离整除除数,得到的数字加上符号便得到结果。       例如:-27/10         -27...
  • liangzhaoyang1
  • liangzhaoyang1
  • 2016年05月18日 20:03
  • 2253

取模?取余?

问题来源当我在学习《C++ Primer》第二章的类型转换的时候,我发现了一个问题。书上写到:当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数,书上的例子...
  • dustbinzz
  • dustbinzz
  • 2017年04月04日 19:50
  • 328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:matlab 取模(mod)与取余(rem)的区别
举报原因:
原因补充:

(最多只允许输入30个字)