MATLAB常用语句(1)---rem 和mod

rem 和 mod (除后的余数)

语法r=rem(a,b) ; b=mod(a,m)

其中 a 是被除数

被除数,指定为标量、向量、矩阵或多维数组。a 必须是任意数值类型的实数值数组。数值输入 a 和 b 必须具有相同的大小或兼容的大小(例如,a 是 M×N 矩阵,b 是标量或 1×N 行向量)。

如果 a 和 b 是持续时间数组,则它们必须具有相同的大小,除非其中一个为标量。如果一个输入是持续时间数组,则另一个输入可以是持续时间数组或数值数组。在此上下文中,rem 将数值视为标准 24 小时制的数字。

如果一个输入是整数数据类型,则另一输入必须是相同的整数类型或 double 标量。

b (m)是除数
除数,指定为标量、向量、矩阵或多维数组。b (m)必须是任意数值类型的实数值数组。数值输入 a 和 b (m)必须具有相同的大小或兼容的大小(例如,a 是 M×N 矩阵,b (m)是标量或 1×N 行向量)。

举例:
(1) 标量被除后的余数

a = 23;
b = 5;
r = rem(a,b)

r = 3

b = mod(23,5)

b = 3

(2) 向量被除后的余数

a = 1:5;
b = 3;
r = rem(a,b)

r= 1×5

 1     2     0     1     2
a = 1:5;
m = 3;
b = mod(a,m)

b = 1×5

 1     2     0     1     2

(3)正值和负值被除后的余数

a = [-4 -1 7 9];
b = 3;
r = rem(a,b)

r = 1×4

-1    -1     1     0

(注意结果是与被除数的符号一致)

a = [-4 -1 7 9];
m = 3;
b = mod(a,m)

b = 1×4

 2     2     1     0

(注意结果是与除数的符号一致)

(4)浮点值被除后的余数

theta = [0.0 3.5 5.9 6.2 9.0 4*pi];
b = 2*pi;
r = rem(theta,b)

r = 1×6

     0    3.5000    5.9000    6.2000    2.7168         0
theta = [0.0 3.5 5.9 6.2 9.0 4*pi];
m = 2*pi;
b = mod(theta,m)

b = 1×6

     0    3.5000    5.9000    6.2000    2.7168         0

mod 和 rem之间的区别:

除后所得余数的概念的定义不是唯一的,两个函数 mod 和 rem 各计算不同的结果。mod 函数生成一个为零或与除数具有相同符号的结果。rem 函数生成一个为零或与被除数具有相同符号的结果。

另一个差别是当除数为零时的约定。mod 函数遵从 mod(a,0) 返回 a 的约定,而 rem 函数遵从 rem(a,0) 返回 NaN 的约定。

两个结果都有其各自的用途。例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。

  • 7
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值