在Matlab中分别用for和while循环语句计算k=1+0.2+0.2^2+...+0.2^1000000的程序。

 我来答
PeriShare
2017-08-23 · 分享PD理论最新研究成果和进展
PeriShare
采纳数:2408 获赞数:36827

向TA提问 私信TA
展开全部
为什么要用循环呢?
直接
sum(0.2.^(0:1:1000000))
hqxz556
推荐于2017-08-25 · TA获得超过2831个赞
知道大有可为答主
回答量:1686
采纳率:93%
帮助的人:575万
展开全部

比较简单的迭代一般不用循环算,比如:

pow = 0:10000;
term = 0.2 .^ pow;
k = sum(term)

你这个不用算那么多项。因为 0.2 的 10 次方就已经是 1e-7 这个数量级了,算二三十项就差不多了,多算也不会提高精度。

最后如果你知道等比级数的公式的话,结果其实就是 1/(1-0.2) = 1.25。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-10
展开全部
while循环:

i=0;
sum=0;
while i<=1000000
sum=sum+0.2^i;
i=i+1;
end

for循环:

sum=0;
for i=0:1000000
sum=sum+0.2^i;
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式