vb嵌套循环算不出来,SOS

[复制链接]
查看11 | 回复1 | 2010-5-11 11:19:05 | 显示全部楼层 |阅读模式
Dim dfe As Double
sum = 0
dfe = 0
Do
Tf = -20
e = 0.1
For i = 1 To 25
K(i) = pc(i) / P * Exp(5.373 * (1 + w(i)) * (1 - tc(i) / Tf))

Do

fe = fe + y(i) * (K(i) - 1) / ((K(i) - 1) * e + 1)

dfe = dfe - (K(i) - 1) ^ 2 * y(i) / (1 + e * (K(i) - 1)) ^ 2

If fe < 0.0001 Then

Exit Do

Else

e = e0 - fe / dfe

If Abs(e - e0) < 0.0001 Then Exit Do

e0 = e

End If

Loop
X(i) = y(i) / ((K(i) - 1) * e0 + 1)
c(i) = K(i) * X(i)
sum = sum + c(i)
Next i
If Abs(sum - 1) < 0.0001 Then Exit Do
Loop
前面的数组定义省略咯。我点击运行后老是程序未响应。是不是循环太多卡住啦?请大侠们帮帮忙,救我于水火之中。

回复

使用道具 举报

千问 | 2010-5-11 11:19:05 | 显示全部楼层
两层循环不多,关键是你退出循环的条件是不是一定能满足。如内层的退出条件是fe < 0.0001 和Abs(e - e0) < 0.0001 是否一定会满足,外层的退出条件是Abs(sum - 1) < 0.0001是否一定会满足,要注意检查。另你程序中Tf = -20,e = 0.1放在了外层的循环内,不知是你的本意吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行