2014-02-24 3 views
1

얼마나 많은 용어를 계산하는 Matlab 함수를 작성하려고합니다. m, 정확도의 n 자리까지 황금 부분을 가져옵니다. 여기에 지금까지 무엇을 가지고,하지만 난이 번호 이론을 공부하거나 matlab에 내용을 시작하는 사람들을위한 공통의 문제라고 생각합니다 0황금 비율에 대한 matlab 코드

phi = (1+sqrt(5))/2; 
p=1; 
p=[1+1/p]; 
LoopCounter = 0; 
while (phi-p)>10^(-n) 
    p=[1+1/p]; 
    LoopCounter = LoopCounter + 1; 
end 
m=LoopCounter; 
m 

의 출력을 점점 계속. 어떤 충고? 감사!

답변

0

while 조건에 abs이 누락되었습니다. 그렇게 phi-p가 음과 while 루프를 입력하지 않습니다, phi보다 큰, p (즉, 2)의 초기 값을 약자로 그것은 당신의 코드와

while abs(phi-p)>10^(-n) 

해야한다. 그래서 m0과 같습니다.

+0

또한,'p = [1 + 1/p]'의 대괄호는 필요하지 않습니다. –

+0

고마워요! 그것은 트릭을했다. – kettlebar