如何編寫一個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. C++矩陣運算效率
- 5. 矩陣(scipy稀疏) - 矩陣(密集; numpy陣列)乘法效率
- 6. 幫助採取矩陣的功率恆定
- 7. 提高對角線矩陣的負功率1/2
- 8. 矢量化連續功率矩陣的創建
- 9. Fortran中的矩陣功能
- 10. 如何使用特徵庫計算矩陣功率?
- 11. 功能HTML5矩陣變換
- 12. 如何DOM ::矩陣功能
- 13. Matlab - 稀疏矩陣系統分辨率
- 14. R - 構造條件概率矩陣
- 15. 馬爾可夫轉換概率矩陣
- 16. 情節加權頻率矩陣
- 17. R:應用功能在矩陣和保持矩陣尺寸
- 18. python矩陣的矩陣
- 19. 的OpenGL:矩陣堆棧的功能
- 20. 繪製Matlab中A^x * v中向量的第一個元素(矩陣功率)
- 21. OpenCV矩陣的一個例外功能
- 22. 傳遞矩陣的功能手柄(MATLAB)
- 23. 應用功能矩陣的每個值
- 24. 求矩陣的培訓篩選功能
- 25. 稀疏矩陣和矩陣
- 26. 矩陣矩陣解釋的移調矩陣
- 27. 在矩陣中添加行與矩陣之間的矩陣
- 28. 向CountVectorizer矩陣添加其他功能
- 29. r功能來創建帶矩陣
- 30. 矩陣功能,fzero不工作
你是什麼意思的矩陣的力量?樣本輸入和輸出將會很有用。 – brettdj
你想把矩陣提升到一個能量嗎?就像多次使用Excel的'MMULT'函數一樣?或者只是提高每個元素的權力,這是相當微不足道的?因爲這是兩回事。 –