如何編寫一個VBA宏,該宏將佔用位於單元格A1至C3中的矩陣(對於任意用戶指定的功率)的功率?矩陣的功率
矩陣的功率
回答
硬是以你的問題在數學意義上,這個宏通過反覆調用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
幾年前有一個這樣的問題,我記得是因爲它被稱爲矩陣算術,但不像我在學校教過的那樣。
填充單元格A1:C3與數字1至9設置單元格A5至2.選擇單元A7:C9和鍵入
=power(A1:C3,A5) ctrl+shift+enter
和細胞A7:C9將被設置爲的值的平方在A1:C3。將A5更改爲3,將單元格A7:C9設置爲A1:C3中值的立方體。
在VBA相對應的是:
Range("a7:c9").FormulaArray = "=Power(a1:c3, a5)"
這並不需要矩陣的力量。它將每個單獨的矩陣元素提升爲一個冪(在這種情況下爲2),但這不是一回事。 –
我同意@ Jean-FrançoisCorbett,這不是矩陣算術,因爲我被教過。但是在幾年前我看到的問題中,它被用作矩陣算術,我確信我記得術語「矩陣的力量」。我以前沒有遇到過ctrl + shift + enter和FormulaArray,所以我花了一些時間來玩這個問題和答案,即使我沒有立即使用這些信息。這個問題讓我想起了早期的一個,所以我回應了user1061701是在相同的信息之後。 –
我一直在谷歌搜索,發現三年前我看到的問題和答案,雖然他們不像我記得的那樣。問題是「你如何將矩陣轉換成Excel的權力?」答案是[鏈接](http://answers.yahoo.com/question/index?qid=20090502130515AA4IjPd)。這個答案只涉及Excel用戶端,所以我必須通過將答案記錄爲宏來發現自己的VBA版本。 –
我使用了下面的函數。請注意,當指數爲0時,函數返回單位矩陣,否則矩陣乘以指數次數。
'Raises matrix to a power
Function PowerMatrixNew(rngInp As Range, lngPow As Integer) As Variant()
'create identitu for power 0
Dim identity() As Variant
ReDim identity(rngInp.Rows.Count, rngInp.Rows.Count)
Dim i As Integer
Dim j As Integer
For i = 1 To rngInp.Rows.Count
For j = 1 To rngInp.Rows.Count
If (i = j) Then
identity(i, j) = 1
Else
identity(i, j) = 0
End If
Next j
Next i
PowerMatrixNew = identity
For i = 1 To lngPow
PowerMatrixNew = Application.WorksheetFunction.MMult(rngInp, PowerMatrixNew)
Next
End Function
- 1. python稀疏矩陣的矩陣功率
- 2. R中的矩陣功率
- 3. 矩陣功率和指針
- 4. 鑽井功率雙矩陣表
- 5. SSRS比率是矩陣
- 6. C++矩陣運算效率
- 7. MATLAB:限制從n到無窮大的矩陣的功率
- 8. NumPy的矩陣乘法效率的矩陣結構已知
- 9. 矩陣(scipy稀疏) - 矩陣(密集; numpy陣列)乘法效率
- 10. 提高對角線矩陣的負功率1/2
- 11. 幫助採取矩陣的功率恆定
- 12. 矢量化連續功率矩陣的創建
- 13. Haskell的矩陣功率而不使用if-else語句
- 14. Fortran中的矩陣功能
- 15. 應用的功能陣列,以矩陣
- 16. 如何使用特徵庫計算矩陣功率?
- 17. R:轉移矩陣轉移概率矩陣
- 18. R矩陣的概率誤差
- 19. 矩陣元素的頻率 - Matlab
- 20. 傳遞矩陣功能,C
- 21. C矩陣「裁切」功能
- 22. 如何DOM ::矩陣功能
- 23. 功能HTML5矩陣變換
- 24. R - 構造條件概率矩陣
- 25. 馬爾可夫轉換概率矩陣
- 26. Matlab - 稀疏矩陣系統分辨率
- 27. 情節加權頻率矩陣
- 28. 如何創建頻率矩陣?
- 29. 如何從MATLAB中的其他幾個矩陣製作頻率矩陣
- 30. R:應用功能在矩陣和保持矩陣尺寸
你是什麼意思的矩陣的力量?樣本輸入和輸出將會很有用。 – brettdj
你想把矩陣提升到一個能量嗎?就像多次使用Excel的'MMULT'函數一樣?或者只是提高每個元素的權力,這是相當微不足道的?因爲這是兩回事。 –