matlab 除 整除我在matlab里输入一下代码l=3.3;sl=0.1;fix(l/sl)为什么结果是32而不是33

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 17:28:43
matlab除整除我在matlab里输入一下代码l=3.3;sl=0.1;fix(l/sl)为什么结果是32而不是33matlab除整除我在matlab里输入一下代码l=3.3;sl=0.1;fix(

matlab 除 整除我在matlab里输入一下代码l=3.3;sl=0.1;fix(l/sl)为什么结果是32而不是33
matlab 除 整除
我在matlab里输入一下代码
l=3.3;
sl=0.1;
fix(l/sl)
为什么结果是32而不是33

matlab 除 整除我在matlab里输入一下代码l=3.3;sl=0.1;fix(l/sl)为什么结果是32而不是33
这设计到了浮点数的误差问题,因为电脑是二进制的,一些整数无法精确表示
可以试试
format long
然后输入
3.3/0.1
你会发现得数是32.999999
而fix是向0取整,结果成了32
建议用round(3.3/0.1)
这是向最接近的整数取整,更为保险