0
"300"을 초과하는 "a"에 대한 매개 변수 "n"의 값을 결정하기로되어있는 while 루프를 Matlab에 작성했습니다. "n"은 17이어야하지만 나는 대신 4의 값을 얻는다. 누구든지 문제가 보이나요? 다음과 같이while 루프에 중첩 된 루프에 대해
코드는 다음과 같습니다
a = 10;
k = 0.5;
n = 2;
while a < 300
for m = 1:5
a = a + (a*k) + n;
end
n = n + 1;
end
편집 : 나는, Barmar의 의견 덕분에 내 "에"변수를 초기화하지 않았다는 것을 깨달았다 . 코드가 매우 효율적으로 보이지는 않지만 다음과 같이 작동합니다.
a = 10;
k = 0.5;
n = 2;
while a < 300
a = 10;
for m = 1:5
a = a + (a*k) + n;
end
if a >= 300
break
end
n = n + 1;
end
'n'의 다른 값을 시도 할 때'a'를 재 초기화 할 필요가 없습니까? – Barmar
아마도이 수식이 자신이 생각하는 것을하지 않는 것일 수 있습니다. 'a '에 1.5를 곱하고 2를 더합니다. 5 번하고'n '을 3으로 늘립니다. 그 시점에서'a'는 이미 100보다 큽니다.'n'이 만들 것이라고 생각하지 않습니다. 그것은 17 시까 지입니다. – paddy
Barmar에게 감사드립니다. 내 코드를 수정하는 방법을 알아 냈어. –