1

そこで、問題の解決策の「コスト」を計算する関数を作成したいと考えています。

整数値を含む 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

サブプロシージャで関数を呼び出そうとすると、エラーメッセージが表示されます - Compile Error: Expected array。これは行で発生します

SolCost = Cost(sum, UBound(x))

なぜこのエラーが発生するのか、私は本当に混乱しています。おそらく、VB の使用経験が著しく不足していることが原因です。うまくいけば、皆さんが私を助けてくれます。

さらに情報が必要な場合は、お気軽にお問い合わせください。どんな助けでも大歓迎です。

4

1 に答える 1

0

UBoundそのような多次元配列はできません。UBound配列の特定の次元が 1 つ必要です。したがって、X(i,j)が配列の場合UBound(X,1)、最初の次元またはUBound(X,2)2 番目の次元を示すために行う必要があります。これは、あなたが持っているディメンションの数に合わせてスケーリングされます。w3schoolsを見てください。彼らの記事は多次元配列を扱っています。

于 2013-04-22T23:59:41.927 に答える