VB 出现错误 高手帮忙看下

来源:百度知道 编辑:UC知道 时间:2024/06/09 21:50:18
Private Sub Command1_Click()
Dim f() As Double, w() As Double, z() As Double, n As Integer
n = 7
ReDim f(n, n) As Double, w(n, n) As Double, z(n, n) As Double

For i = 1 To (n + 1) / 2
For j = 1 To (n + 1) / 2
p = Abs(j - i): q = j + i - 2
f(i, j) = -(2 * p * Log((2 * p + 1) / (2 * p - 1)) + Log((2 * p + 1) * (2 * p - 1))) + _
(-(2 * q * Log((2 * q + 1) / (2 * q - 1)) + Log((2 * q + 1) * (2 * q - 1))))

w(i, j) = (i - 1) ^ 2 * ((3 * (j - 1)) - (i - 1))
z(i, j) = f(i, j) + w(i, j)
print z(i, j)
Next j
Next i

End Sub

什么错误呢?
还有,你要实现什么的功能

问题是在log()函数
当i=j时,则p=0,Log((2 * p + 1) / (2 * p - 1))=log(-1),但是log函数的变量值是要大于0的,小于等于0就会出错.
所以,你的这个公式是错误的

ReDim 不能改变维度!