내 질문 : 외부 루프 (j)에 대해 내부 루프 (i)의 최종 계산 값을 사용하고 싶습니다. 그러나 (j = 2 및 i = 1) 잘못된 값을 취하기 시작합니다. 나는 어디에서 실수를 했을까? 입력 사항을 표시하지 않고 외부 루프를 이해하는 데 도움이 필요합니다.외부 루프의 값 업데이트, 다른 For 루프의 For 루프
For j = 1 To 4
wf = (2 * j - 1) * wff
For i = 1 To 3
PZ = (1 - GP/GT) * pzi
p = fPpz(PZ, ppc, Tpr)
z = p/PZ
pavg = (p + pwf)/2
Bg_p = Bg(z, T, p, psc, Tsc)
mug_p = (mugas(SGg, p, T))/1000
mug_pavg = (mugas(SGg, pavg, T))/1000
Z_pavg = fZ(pavg/ppc, Tpr)
Bg_pavg = Bg(Z_pavg, T, pavg, psc, Tsc)
Time2 = 1 + Time1
delTime = Time2 - Time1
PIndex = PIndn(kres, hres, mug_pavg, Bg_pavg, JDf)
dpdlf = pf(p, pwf, xf, PIndex, tauyhb, nhb, khb, wfg_new, Hf, wf, Bg_pavg, dpdlold,mug_pavg, Bg_p, mug_p)
dpdlnew = dpdlf
If dpdlf < 0 Then
dpdlnew = dpdlold
End If
qg = FrGasF(tauyhb, nhb, khb, wfg_new, Hf, wf, dpdlnew, mug_p)
GP = 2 * qg * delTime * 60/Bg_p + GP
qhb = FrHBF(tauyhb, nhb, khb, wfg_new, Hf, wf, dpdlnew)
wfg_old = qhb/xf/Hf * delTime * 60/2
'=======For next iteration (i+1)======='
wfg_new = wfg_new + wfg_old
Time1 = Time2
dpdlold = dpdlnew
Next i
Next j
어디에서 값이 잘못 표시됩니까? 바깥 쪽 루프는 홀수 승수 (1, 3, 5, 7)를 wff에 공급합니다. – hstay
그리고이 값에 대해 i- 루프보다 실행됩니다 ... 잘못된 값은 j = 4 일 때입니다 ... – user2981046
여전히 잘못된 점이나 달성하고자하는 점을 이해하지 못합니다. – hstay