有关Matlab while循环的相关问题?
clcclearallZahl=0;Summe=0;Schritt=0.1;whileZahl<100Summe=Summe+Zahl;Zahl=Zahl+Schritt...
clc
clear all
Zahl=0;
Summe=0;
Schritt=0.1;
while Zahl<100
Summe=Summe+Zahl;
Zahl=Zahl+Schritt;
end
Zahl
Zahl输出为什么是100.1而不是100 展开
clear all
Zahl=0;
Summe=0;
Schritt=0.1;
while Zahl<100
Summe=Summe+Zahl;
Zahl=Zahl+Schritt;
end
Zahl
Zahl输出为什么是100.1而不是100 展开
2个回答
展开全部
误差累积,你认为的数字100在计算机中会有偏差,由于2进制的转换以及计算机的有限表达,导致处理每个数值一定会有误差,误差大小取决于数值算法、有效精度(MATLAB一般用双精度)等。如下代码你就会发现为什么
clc
clear all
Zahl=0;
Summe=0;
Schritt=0.1;
while Zahl<100
100-Zahl
Summe=Summe+Zahl;
Zahl=Zahl+Schritt;
end
clc
clear all
Zahl=0;
Summe=0;
Schritt=0.1;
while Zahl<100
100-Zahl
Summe=Summe+Zahl;
Zahl=Zahl+Schritt;
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询