我有一個480x640大小的矩陣(可以說是A
)。我想要另一個相同大小的矩陣(B
),其中B
中的每個元素都是A
中對應元素的exp()
。
有沒有一個優雅的方式,除了常規的循環?在Matlab中對矩陣的每個元素應用函數
0
A
回答
6
2
在良好的MATLAB實踐環境中,嘗試利用內置於MATLAB中的矢量化操作幾乎總是最好的,正如Shai's answer所說的那樣。
但是,要回答明確的問題,功能如arrayfun
,cellfun
和structfun
。這些函數可以分別對數組,單元陣列和結構的每個元素應用函數。這對於你想要執行的操作沒有內置的情況或者它不是矢量化操作的情況很有用。
例如,arrayfun
:
A = [1, 2; 3, 4];
B = arrayfun(@(x) exp(x), A);
C = exp(A);
test = all(B(:) == C(:)) % Test for equivalence
而且test
回報true
。
相關問題
- 1. MatLab - 對矩陣中的每一行應用一個函數
- 2. 在矩陣的每個元素上應用函數
- 3. 使用矩陣的每一行中的元素應用函數
- 4. 將傳遞函數應用於矩陣的每個元素
- 5. 將函數應用於matlab單元陣列中的矩陣的每一列
- 6. 如何在Python中爲矩陣中的每個元素應用函數?
- 7. 在Matlab中找到每個矩陣元素的距離
- 8. MATLAB中兩個矩陣的高效元素明智函數
- 9. 矩陣中使用求和函數的元素總和由matlab
- 10. Matlab,如何比較行矩陣的每個元素與另一行矩陣的每個元素?
- 11. 矩陣中的每個元素的rpois函數
- 12. 如何在每個矩陣元素的索引上應用函數
- 13. 以稀疏矩陣中的每個元素的對數
- 14. 將矩陣元素插入到Matlab中的函數輸入中
- 15. MATLAB改變矩陣元素
- 16. Matlab矩陣元素檢查
- 17. 在Matlab中修改矩陣元素
- 18. 使用MATLAB中其他矩陣的元素創建矩陣
- 19. 在Matlab中對矩陣的每一行中的元素進行重新排序
- 20. 如何匹配在查找函數matlab中使用的矩陣的元素數
- 21. matlab中的shuffle矩陣元素
- 22. 如何在MATLAB中爲矩陣中的每列添加每列中的元素?
- 23. 如何在matlab中對矩陣中的元素進行分組?
- 24. MATLAB使用單元陣列中的元素填充矩陣
- 25. MATLAB:如何連接兩個數字矩陣使得在每個矩陣中的對應號碼現在級聯
- 26. 如何將隨機數應用於矩陣中的每個單元格 - Matlab
- 27. 矩陣在matlab中的轉換函數
- 28. 矩陣的矩陣對角元素
- 29. 如何用MATLAB中的另一個矩陣替換矩陣的元素?
- 30. 如何在MATLAB中刪除矩陣的對角線元素?
爲了避免混淆,值得一提的是,你不能*使用'arrayfun'使用匿名函數! 'arrayfun(@exp,A)'很好。 – Will
你忘了'spfun'。 @試着想,如果你使用spfun(@exp,S)''exp(S)';)會發生什麼; – Shai