24小时热门版块排行榜    

CyRhmU.jpeg
查看: 415  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

RwingRWING

新虫 (初入文坛)

[求助] 十万火急,马上要交了。。。关于子程序的调用已有2人参与

For I = 2 To NN
BiaoJi:      A1 = GCH_MIN(I)
          If GCH(I, M(I)) > GCH(I, 1) Then
            b = GCH(I, 1)
          Else
            b = GCH(I, M(I))
          End If
        Debug.Print "b = "; b
        
    '二分法解能量方程
       Z(I) = b
        Call AERA(I)
        Call SHUIWEI(Z)
        FXB = FX


子程序:
Public Sub AERA(I)
W(I) = 0
X(I) = 0
For J = 1 To M(I) - 1
            If GCH(I, J) <= Z(I) And GCH(I, J + 1) <= Z(I) Then
                W(I) = W(I) + (Z(I) - (GCH(I, J + 1) + GCH(I, J)) / 2) * (AX(I, J + 1) - AX(I, J))
                X(I) = X(I) + ((GCH(I, J + 1) - GCH(I, J)) ^ 2 + (AX(I, J + 1) - AX(I, J)) ^ 2) ^ (1 / 2)
            ElseIf GCH(I, J) < Z(I) And GCH(I, J + 1) > Z(I) Then
                W(I) = W(I) + (Z(I) - GCH(I, J)) ^ 2 * (AX(I, J + 1) - AX(I, J)) / (GCH(I, J + 1) - GCH(I, J)) / 2
                X(I) = X(I) + (Z(I) - GCH(I, J)) * ((AX(I, J + 1) - AX(I, J)) ^ 2 + (GCH(I, J + 1) - GCH(I, J)) ^ 2) / (GCH(I, J + 1) - GCH(I, J)) ^ (1 / 2)
            ElseIf GCH(I, J) > Z(I) And GCH(I, J + 1) < Z(I) Then
                W(I) = W(I) + (Z(I) - GCH(I, J + 1)) ^ 2 * (AX(I, J + 1) - AX(I, J)) / (GCH(I, J) - GCH(I, J + 1)) / 2
                X(I) = X(I) + (Z(I) - GCH(I, J + 1)) * ((AX(I, J + 1) - AX(I, J)) ^ 2 + (GCH(I, J + 1) - GCH(I, J)) ^ 2) / (GCH(I, J) - GCH(I, J + 1)) ^ (1 / 2)
            End If
Next J
End Sub

Public Sub SHUIWEI(Z)
Dim FX As Double 'K值
Dim AAA As Double '面积平均值
Dim RRR As Double '水力半径平均值
Dim CCC As Double '谢才系数平均值

        R(I) = W(I) / X(I)
        V(I) = Q / W(I)
        C(I) = (1 / n(I)) * R(I) ^ (1 / 6)
        AAA = (W(I) + W(I - 1)) / 2
        RRR = (R(I) + R(I - 1)) / 2
        CCC = (C(I) + C(I - 1)) / 2
        FX = Z(I - 1) - Z(I) + (1.1 - GG(I)) * (V(I - 1) * V(I - 1) - V(I) * V(I)) / 19.62 + Q * Q * L(I) / (AAA * AAA * CCC * CCC * RRR)
End Sub

运行到第二个子程序那里总是下标越界
两个子程序,现在我的I都要从2开始,每次一运行,第一个的子程序没有问题,可是下面的SHUIWEI(Z)总是显示下标越界。。。。这是怎么回事啊??求大神解决啊!万分感谢,马上就要交毕业设计了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

43fd6ys

木虫 (正式写手)

【答案】应助回帖

SHUIWEI()中 I 未定义
3楼2015-07-23 21:39:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
I 经常做循环的变量,不宜在下一步直接使用,可以用一个变量把需要的i值存起来后再调用。
2楼2015-06-02 19:25:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见