索引数超过索引数组的维数,求助
vb.net吧
全部回复
仅看楼主
level 4
天枭great 楼主
Function TRID(ByVal N As Integer, ByVal Z() As Double, ByVal R9() As Double, ByVal L() As Double)
Dim N1, k As Integer : Dim EE, W1, W2, D11, D12, D21, D22, D31, D32, D41, D42 As Double
N1 = N - 1
EE = (L(1, 2) * Z(1, 1) + L(1, 1) * Z(1, 2)) / (Z(1, 1) * Z(1, 1) + Z(1, 2) * Z(1, 2))
L(1, 1) = (L(1, 1) * Z(1, 1) - L(1, 2) * Z(1, 2)) / (Z(1, 1) * Z(1, 1) + Z(1, 2) * Z(1, 2))
L(1, 2) = EE
W1 = Z(1, 1)
W2 = Z(1, 2)
For k = 2 To N
Z((k - 1), 1) = (R9(k - 1) * W1) / (W1 * W1 + W2 * W2)
Z((k - 1), 2) = (-R9(k - 1) * W2) / (W1 * W1 + W2 * W2)
D11 = R9(k - 1) * Z((k - 1), 1)
D12 = R9(k - 1) * Z((k - 1), 2)
W1 = Z(k, 1) - D11
W2 = Z(k, 2) - D12
D21 = R9(k - 1) * L((k - 1), 2)
D22 = R9(k - 1) * L((k - 1), 1)
D31 = L(k, 2) - D21
D32 = L(k, 1) - D22
L(k, 2) = (D31 * W1 + D32 * W2) / (W1 * W1 + W2 * W2)
L(k, 1) = (D32 * W1 - D31 * W2) / (W1 * W1 + W2 * W2)
Next
For k = 1 To N1
D41 = Z((N - k), 1) * L((N - k + 1), 2) - Z((N - k), 2) * L((N - k + 1), 1)
D42 = Z((N - k), 1) * L((N - k + 1), 1) + Z((N - k), 2) * L((N - k + 1), 2)
L((N - k), 2) = L((N - k), 2) - D41
L((N - k), 1) = L((N - k), 1) - D42
Next
End Function
蓝色线部分提示出错,索引数超过索引数组的维数,请问各位大神应该如何解决呀,我的是vs2010版本
2016年07月19日 12点07分 1
level 11
把ByVal Z() As Double 改成 ByVal Z(,) As Double。你声明的是一维数组,不能进行二维调用,必须改声明才行。
2016年07月22日 08点07分 3
同理,L的声明也得这样改。
2016年07月22日 08点07分
回复 zbx14251 :感谢已经搞定🙏
2016年07月23日 00点07分
1