0

If、Elseif、Else ステートメントがあります。最初の If が満たされている場合、流出とパーコレーションの計算値を組み込みたいと思います。ただし、最初の IF 条件が満たされない場合、流出とパーコレーションには常に 0 が割り当てられます。以下にコードを貼り付けました。私が抱えている問題は、最初の IF ステートメントの後に percolation と runoff=0 を設定すると、print サブルーチンが計算値ではなく常に 0 を出力することです。最初の IF 条件が満たされない場合、流出とパーコレーションを定数として割り当てるにはどうすればよいですか? 後続の各条件で runoff=0、percolation=0 を割り当てることができることはわかっていますが、コードのかさばりを減らそうとしています。

 Do
         If (fc - WC(j - 1) + RefET(i)) <= Precip(i) Then
                WC(j) = fc
                WCinit(j) = WC(j)
                Runoff(j - 1) = (Precip(i) - (fc - WC(j - 1) + RefET(i))) * 0.5
                Percolation(j - 1) = (Precip(i) - (fc - WC(j - 1) + RefET(i))) * 0.5
'    Runoff(j - 1) = 0 <-If I assign these here, it "overrides" the value I calculated on the previous line. I want to reduce the bulkiness of my code by assigning these values if the first IF condition is not met
'    Percolation(j - 1) = 0
          ElseIf (WC(j - 1) + Precip(i) - RefET(i)) > pwp Then
                 WC(j) = WC(j - 1) + Precip(i) - RefET(i)
                 WCinit(j) = WC(j)
                 Runoff(j - 1) = 0
                 Percolation(j - 1) = 0
        Else
                WC(j) = pwp
                WCinit(j) = WC(j)
                Runoff(j - 1) = 0
                Percolation(j - 1) = 0
        End If
                j = j + 1
                i = i + 1
                Loop While j < 14
4

1 に答える 1

1

または、寸法を記入するとき。int = 0 としての Dim Percolation

于 2013-03-21T15:08:56.883 に答える