mathlab之floor,ceil,round,int以及fix函数

时间:2023-03-08 16:12:01

建议自己动手敲敲,网上很多人自己都没搞清楚然后好多错的。毕竟自己亲眼看到结果才有说服力。

以下是我亲眼见到的结果。

1.double floor(double)函数

floor()函数是常用的取整函数,特点是向下取整,无论正负取完整数值是变小的,eg : floor(2.3) = 2,floor(-3.3) = -4;

floor()函数可用来判断一个数是否为整数。比如:判断一个数是否为完全平方数

int charge(int n){

double m;

m = sqrt(n);

if(floor(m+0.5) == m)

return 1;

return 0;

}

注意由于m为浮点数,要注意浮点数运算时产生的误差。比如某次运算中整数1变成了0.999999,那么floor(m)就会等于0.所以可以加上0.5,以避免浮点误差带来的错误。另外这样也是用floor函数实现了四舍五入。

2.(double)ceil(double)函数

与floor函数相对应,ceil函数是向上取整的。无论正负取完整数值变大了。比如:ceil(2.4) = 3,ceil(-3.3) = -3.

3.(double)round(double)函数

round函数是四舍五入函数,也就是和我们数学习惯一样,无论正负先对绝对值四舍五入然后加上符号。比如:round(2.4) = 2,

round(3.5) = 4,round(-2.4) = -2,round(-3.5) = -4.

4.(int)int(double)函数

int函数是靠零取整函数,即无论正负直接取其整数部分,取整后绝对值会变小。比如:int(2.3) = 2,int(-3.4) = -3,int(2.7) = 2,int(-3.7) = -3.

5.fix函数

fix函数并不是mathlab里的函数,至少我用codeblocks和Vc++,math.h里是找不到这个函数的。应该是matlab里面的。

好啦,时间也不早啦,电脑也没电了。学完函数晚安喽。