matlab中有4个取整函数分别是Floor\fix\round\ceil
Floor
意译为:向负无穷大方向取整
语法
floor(X)
B = idivide(int32(TmpFloorNum),int32(9),‘floor’);
fix
意译为:向零方向取整
语法
fix(X)
B = idivide(int32(TmpFloorNum),int32(9),‘fix’);
round
意译为:向最近方向取整
语法
round(X)
B = idivide(int32(TmpFloorNum),int32(9),‘round’);
ceil
意译为:向向正无穷大方向取整方向取整
语法
ceil(X)
B = idivide(int32(TmpFloorNum),int32(9),‘ceil’);
matlab中有4个取余函数分别是rem\mod
rem
意译为:除后的余数
语法
r = rem(a,b)
说明
r = rem(a,b) 返回用 b 除以 a 后的余数,其中 a 是被除数,b 是除数。此函数通常称为求余运算,表达式为 r = a - b.*fix(a./b)。rem 函数遵从 rem(a,0) 是 NaN 的约定
例子
浮点值被除后的余数
计算多个角除以除数 2*pi 后的余数。rem 将尝试补偿浮点四舍五入取整的影响,以尽可能生成精确的整数结果。
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
正值和负值被除后的余数
计算一个含正负值的整数集被除后的余数。请注意,非零结果的符号与被除数相同。
a = [-4 -1 7 9];
b = 3;
r = rem(a,b)
r = 1×4
-1 -1 1 0
标量被除后的余数
计算 23 除以 5 后的余数。
a = 23;
b = 5;
r = rem(a,b)
r = 3
向量被除后的余数
计算一个整数向量除以除数 3 的余数。
a = 1:5;
b = 3;
r = rem(a,b)
r = 1×5
1 2 0 1 2
mod
意译为:除后的余数(取模运算)
语法
b = mod(a,m)
说明
b = mod(a,m) 返回用 m 除以 a 后的余数,其中 a 是被除数,m 是除数。此函数通常称为取模运算,表达式为 b = a - m.*floor(a./m)。mod 函数遵从 mod(a,0) 返回 a 的约定。
例子
标量被除后的余数
计算 23 对 5 取模。
b = mod(23,5)
b = 3
向量被除后的余数
计算一个整数向量除以除数 3 的余数。
a = 1:5;
m = 3;
b = mod(a,m)
b = 1×5
1 2 0 1 2
正值和负值被除后的余数
计算一个含正负值的整数集被除后的余数。请注意,如果除数为正数,则非零结果始终为正数。
a = [-4 -1 7 9];
m = 3;
b = mod(a,m)
b = 1×4
2 2 1 0
用负除数除后的余数
计算一个整数集除以负除数后的余数,该整数集包括正值和负值。请注意,如果除数为负数,则非零结果始终为负数。
a = [-4 -1 7 9];
m = -3;
b = mod(a,m)
b = 1×4
-1 -1 -2 0
浮点值被除后的余数
计算使用模数对 2*pi 多个角除后的余数。请注意,mod 将尝试补偿浮点四舍五入取整的影响,以尽可能生成精确的整数结果。
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
神奇的网站:https://ww2.mathworks.cn/help/matlab/ref/mod.html?searchHighlight=mod&s_tid=doc_srchtitle