所以我想创建一个函数来计算问题解决方案的“成本”。
我创建了一个包含整数值的1维数组Sum(m)。这在不同的子程序中引用。
Function Cost(sum As Integer, a As Integer) As Long
Dim total As Long
'Calculate cost
For m = 1 To 2 * n + 2
total = total + (sum(m) - a) ^ 2
Next m
Cost = total
End Function
我不确定我应该在该行的括号部分使用什么
Function Cost(sum As Integer, a As Integer) As Long
当我尝试在我的子程序中调用该函数时,我收到错误消息 - 编译错误:预期数组。这发生在
行中SolCost = Cost(sum, UBound(x))
我真的很困惑为什么会发生这种错误。这可能是由于严重缺乏VB经验。希望你们能帮助我。
如果您需要更多信息,请随时提出。非常感谢任何帮助。
答案 0 :(得分:0)
你不能UBound
这样的多维数组。您必须UBound
数组的一个特定维度。因此,如果X(i,j)
是您的数组,则必须UBound(X,1)
表示第一维,或UBound(X,2)
表示第二维。这可以扩展到您拥有的多个维度。看看at w3schools,他们的文章涵盖了多维数组。