如何用matlab编写程序:y=1+1/3+1/5+....+1/(2*n-1) 当y<3时输出最大的n 5
3个回答
展开全部
>> n=1000;
>> y=1;
>> for i=1:n
y=y+(1/(2*i-1));
if y>=3
break
end
end
>> i-1 %即所求n
ans =
7
>> y=1;
>> for i=1:n
y=y+(1/(2*i-1));
if y>=3
break
end
end
>> i-1 %即所求n
ans =
7
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i=1:1000;
Y=cumsum(1./(2*i-1));
idx=find(Y<3);
n=idx(end)
y=Y(n)
n 即为所求(56)
y 是对应的结果(2.9944)
Y=cumsum(1./(2*i-1));
idx=find(Y<3);
n=idx(end)
y=Y(n)
n 即为所求(56)
y 是对应的结果(2.9944)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-09-14
展开全部
用while for 程序就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询