matlab一段小代码的疑问for i=0.2:0.2:0.8,i*10,endans =2ans =4ans =6.0000 这个是怎么回事?ans =8

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 15:30:51

matlab一段小代码的疑问for i=0.2:0.2:0.8,i*10,endans =2ans =4ans =6.0000 这个是怎么回事?ans =8
matlab一段小代码的疑问
for i=0.2:0.2:0.8,i*10,end
ans =
2
ans =
4
ans =
6.0000 这个是怎么回事?
ans =
8

matlab一段小代码的疑问for i=0.2:0.2:0.8,i*10,endans =2ans =4ans =6.0000 这个是怎么回事?ans =8
format long
for i=0.2:0.2:0.8,i*10,end
其实所有结果的数据类型都是double型(可以用class函数检测),只不过2,4,8是精确地等于2,4,8,而6.0000其实不等于6.这是由浮点数的截断误差导致的.
运行上面的程序你就明白了.