matlab中小数如何取整?
matlab中有四个常用的取整函数,分别式是floor、ceil、round、fix,可以完成对常数的取整操作。
1、floor 向下取整,即向负无穷方向取整
2、ceil 向上取整,即向正无穷的方向取整
3、round 最近取整,即四舍五入
4、fix 向0取整,即向接近0的方向取整
另外,取整的操作也可以针对一个向量,矩阵,或者多维数组。例如对一个矩阵A,round(A)代表对矩阵A的所有元素进行四舍五入的取整。
扩展资料:
对于这三个取整函数,输入参数为复数时,会分别对实部和虚部进行取整,例如输入取整命令round(1.1+3.7i),取整的结果为1+4i。输入参数为char类型或逻辑值时,会返回为double值。
参考资料:MATLAB文档
matlab中小数取整的函数大约有四个:floor、ceil、round、fix
1、round取整方法是四舍五入
round函数功能:四舍五入取整。
使用方法:B = round(A)
对数组A中每个元素朝最近的方向取整数部分,并返回与A同维的整数数组B,对于一个复数参量A,则分别对其实部和虚数朝最近的方向取整数部分,并返回一复数数据B。
2、floor取整方法是向下取整
floor(x)返回不大于x的最大整数值。
3、ceil取整方法是向上取整
ceil(x)返回不小于x的最小整数值(然后转换为double型)。
4、fix取整方法是往靠近0的取整
注意:取模(mod)与取余(rem)是不同的 ,两个函数的生成机制不同 ,rem函数采用fix函数,而mod函数采用了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)
如:
mod(-1,3)=2 ,因为-1/3=-0.33333333333333
mod使用floor函数,所以商变为-1。 -1-(-1*3)=2
rem(-1,3)=-1 ,因为-1/3=-0.33333333333
rem使用fix函数,所以商变为0。 -1- (0*3)=-1
round(x)返回x的四舍五入整数值。
若 A = [-2.0, -1.9, -1.55, -1.45, -1.1, 1.0, 1.1, 1.45, 1.55, 1.9, 2.0];
floor:朝负无穷方向靠近最近的整数;
floor(A)
ans =
-2 -2 -2 -2 -2 1 1 1 1 1 2
ceil:朝正无穷方向靠近最近的整数;
ceil(A)
ans =
-2 -1 -1 -1 -1 1 2 2 2 2 2
round:取最近的整数(相当于四舍五入)
round(A)
ans =
-2 -2 -2 -1 -1 1 1 1 2 2 2
fix:取离0最近的整数
fix(A)
ans =
-2 -1 -1 -1 -1 1 1 1 1 1 2