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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 12:24: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
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)
这是向最接近的整数取整,更为保险