matlab function 请帮忙看看
这个程序为什么会进入死循环,也就是一直运行下去根本不停止。我输入的n=10functionphi=Goldener_Schnitt(n)a(1)=1;a(2)=1;for...
这个程序 为什么会进入死循环,也就是一直运行下去 根本不停止 。我输入的 n=10
function phi=Goldener_Schnitt(n)
a(1)=1;
a(2)=1;
format long
for i= 3:n
a(i)=a(i-1)+a(i-2);
end
while 1
phi=a(i)/a(i-1)
if ((abs(a(i)-a(i-1))) < 0.0001)
break ;
end
end
end 展开
function phi=Goldener_Schnitt(n)
a(1)=1;
a(2)=1;
format long
for i= 3:n
a(i)=a(i-1)+a(i-2);
end
while 1
phi=a(i)/a(i-1)
if ((abs(a(i)-a(i-1))) < 0.0001)
break ;
end
end
end 展开
1个回答
展开全部
追问
追答
整体应该是一个while循环,没有for循环
循环退出条件是(phi(i)-phi(i-1))< 0.0001
(while循环的组织方法有多种,采用判断加break的方式不是一个好的形式,建议找本编程的书看一看)
每循环一次让i加1
请按这个思路再试试自己编一下。
很高兴为您解答,w231818为您解答matlab的相关问题,以期共同提高
如果本题有什么不明白可以追问,如果满意记得采纳
如果有其他问题请采纳本题后另发点击向我求助,答题不易,请谅解,谢谢。
祝进步
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询