我试图用数组做一些计算.
例如,我想解决Ax=y,所以我使用以下代码来做到这一点,其中A是方阵,y是col.向量.在VBA中,A是具有二维的数组,y是具有一维的一个.但是,这段代码不起作用......
x = WorksheetFunction.MMult(WorksheetFunction.MInverse(A), y)
Run Code Online (Sandbox Code Playgroud)
我哪里弄错了?谢谢!
你可能犯了很多错误中的一个或多个:
Variant(如果数据类型不是,则大多数工作表函数不起作用Variant).A和y不匹配.y尺寸(1,2)不是(2,1)如下例所示,则不起作用.这是一个有效的例子:
Dim A As Variant
Dim y As Variant
Dim x As Variant
ReDim y(1 To 2, 1 To 1)
y(1, 1) = 2
y(2, 1) = 3
ReDim A(1 To 2, 1 To 2)
A(1, 1) = 3
A(2, 1) = 1
A(1, 2) = 4
A(2, 2) = 2
x = WorksheetFunction.MMult(WorksheetFunction.MInverse(A), y)
Run Code Online (Sandbox Code Playgroud)