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文档

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-11-09

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的四舍五入整数值。

本回答被网友采纳
第2个回答  2018-01-24

我们以 A=[-1.8 -1.25 -0.45  0.75 1.75 2.1]为例介绍一下不同的取整方法。

    四舍五入取整(round)

    在MATLAB主窗口中输入round(A),回车,出现如下结果:

    朝负无穷方向舍入(floor)

    在MATLAB主窗口中输入floor(A),回车,出现如下结果:

    是向下取整方法,取的是小于等于此数的第一个整数。

    朝正无穷方向舍入(ceil)

    在MATLAB主窗口中输入ceil(A),回车,出现如下结果:

    是向上取整法,取的是大于等于此数的第一个整数。

    朝零方向舍入(fix)

    在MATLAB主窗口中输入fix(A),回车,出现如下结果:

    此取整法是舍去小数取整。

第3个回答  推荐于2017-09-02
matlab中小数取整的函数大约有四个:floor、ceil、round、fix

若 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本回答被提问者采纳
第4个回答  2019-12-23
matlab中小漱如何取得成功率多少人啊都挺好的吧我拉进去呗是不是真的啊
相似回答