Matlab数据格式问题
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/16 15:56:21
Matlab数据格式问题
![](http://img.wesiedu.com/upload/a/84/a84c2e5dbdf9c374b40fd210f982fbf5.jpg)
如图所示,为什么第一次出错,第二次的正确.
![](http://img.wesiedu.com/upload/a/84/a84c2e5dbdf9c374b40fd210f982fbf5.jpg)
如图所示,为什么第一次出错,第二次的正确.
![Matlab数据格式问题](/uploads/image/z/2917677-21-7.jpg?t=Matlab%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E9%97%AE%E9%A2%98)
2e-2/2e-5
ans =
1.0000e+003
>> 2e-2/2.5e-5
ans =
800
因为浮点数运算存在舍入误差
2e-2/2e-5 理论上结果是 1000
但得到的结果实际上不是精确的1000
而是1000加上一个绝对值很小的数,也就是浮点运算的误差
那么结果就不是整数,所以会报错
而2e-2/2.5e-5的计算结果,刚好能够取到理论值800,所以就不报错
用 zeros(round(2e-2/2e-5))先取整一下就好
ans =
1.0000e+003
>> 2e-2/2.5e-5
ans =
800
因为浮点数运算存在舍入误差
2e-2/2e-5 理论上结果是 1000
但得到的结果实际上不是精确的1000
而是1000加上一个绝对值很小的数,也就是浮点运算的误差
那么结果就不是整数,所以会报错
而2e-2/2.5e-5的计算结果,刚好能够取到理论值800,所以就不报错
用 zeros(round(2e-2/2e-5))先取整一下就好