我的MInverse函数在VBA中不起作用
编辑:我修正了它,ReDim和all从0开始,而不是1,所以我有一个空的单元格,不应该在那里! 现在可以了,谢谢你的帮助 我试图获取一个矩阵并将其反转,但由于某种原因,我得到了以下错误: 无法获取WorksheetFunction类的MInverse属性 我的(相关)代码如下:我的MInverse函数在VBA中不起作用,vba,excel,Vba,Excel,编辑:我修正了它,ReDim和all从0开始,而不是1,所以我有一个空的单元格,不应该在那里! 现在可以了,谢谢你的帮助 我试图获取一个矩阵并将其反转,但由于某种原因,我得到了以下错误: 无法获取WorksheetFunction类的MInverse属性 我的(相关)代码如下: Dim covar() As Variant ReDim covar(UBound(assetNames), UBound(assetNames)) Dim corr() As Double ReDim corr(UBo
Dim covar() As Variant
ReDim covar(UBound(assetNames), UBound(assetNames))
Dim corr() As Double
ReDim corr(UBound(assetNames), UBound(assetNames))
Dim covarTmp As Double
For i = 0 To UBound(assetNames) - 1
For j = 0 To UBound(assetNames) - 1
covarTmp = 0
For t = 1 To wantedT
covarTmp = covarTmp + (Log((prices(histAmount + 1 - t, i + 1)) / (prices(histAmount - t, i + 1))) - mu(i) * dt) * (Log((prices(histAmount + 1 - t, j + 1)) / (prices(histAmount - t, j + 1))) - mu(j) * dt)
Next t
covar(i, j) = covarTmp * (1 / ((wantedT - 1) * dt))
corr(i, j) = covar(i, j) / (sigma(i) * sigma(j))
Next j
Next i
Dim covarInv() As Variant
ReDim covarInv(UBound(assetNames), UBound(assetNames))
'ReDim covar(1 To UBound(assetNames), 1 To UBound(assetNames))
covarInv = Application.WorksheetFunction.MInverse(covar)
最后一行是发生错误的地方
我尝试过很多方法,将covar和covarInv dim设置为双精度、变量等。covar和covarInv上有不同的重读。您没有说您使用的是哪个版本的Excel,但对于Excel 2010,Minverse的最大限制似乎是200*200(对于Excel 2003,可能是80*80左右):您有多少资产名称?
无法获取WorksheetFunction类的MInverse属性。
52 x 52根据2003年的文档。。我目前有6项资产。