矩阵的力量

use*_*701 1 excel vba excel-vba

如何编写一个VBA宏,它将获取位于单元格A1到C3中的矩阵(以任意用户指定的功率)的功能?

Jea*_*ett 5

在数学意义上从字面上理解你的问题,这个宏通过重复调用Excel的MMULT函数将矩阵提升为幂(在示例中为4).

Dim i As Long
Dim pow As Long
Dim vIn As Variant
Dim vOut As Variant

pow = 4 ' or whatever

' Fetch matrix from sheet
vIn = Range("A1:C3")
' Raise to power
vOut = vIn
For i = 1 To pow - 1
    vOut = WorksheetFunction.MMult(vOut, vIn)
Next i
' Write result to sheet
Range("E1:G3") = vOut
Run Code Online (Sandbox Code Playgroud)