我有一些元素變爲零的矩陣。這對我後續的操作(取日誌等)是一個問題。有沒有辦法使用我選擇的輸入快速替換矩陣中的零個元素。快速 - 意思是沒有循環。MATLAB - 用小數字替換矩陣中的零點
4
A
回答
4
當然 - 其中A是你的矩陣,
A(A==0) = my_small_number;
3
假設你的矩陣稱爲A
A(A==0) = eps;
5
直接的回答是:
M(M == 0) = realmin;
這不正是你請求,用一個小數字替換零。看到這樣做以矢量化的方式隱式搜索零。不需要循環。 (這是一種MATLAB方法,避免了那些顯式和慢速循環。)
或者,您可以使用max,因爲負數不會是問題。所以
M = max(M,realmin);
也將工作。再次,這是一個矢量化的解決方案。如果沒有經過仔細的測試,我不確定哪一個更快,但肯定會被接受。
請注意,我已經在這裏使用realmin而不是eps,因爲它實際上可以用雙精度數字來表示。但使用任何小數字對你來說都是有意義的。
log10(realmin)
ans =
-307.6527
將此與EPS進行比較。
log10(eps)
ans =
-15.6536
相關問題
- 1. Matlab的:替換矩陣值
- 2. MATLAB用零擴展矩陣
- 3. MATLAB函數替換randi生成矩陣
- 4. MATLAB用另一個矩陣替換矩陣的某些值
- 5. 與Matlab的從零矩陣
- 6. 替換矩陣中的所有數字
- 7. Python Numpy - 矩陣替換全局矩陣中定義的矩陣..類似於Matlab
- 8. 從matlab中刪除矩陣中的零
- 9. matlab中的置換矩陣
- 10. 「查找和替換」從矩陣MATLAB
- 11. 如何用MATLAB中的另一個矩陣替換矩陣的元素?
- 12. 我如何用MATLAB中的其他數字替換矩陣的某些元素?
- 13. Matlab的變換2D矩陣3D矩陣
- 14. 矩陣在matlab中的轉換函數
- 15. 矩陣矩陣在Matlab中的數組?
- 16. MATLAB矩陣變換
- 17. 不要在矩陣中的小數點後面顯示零
- 18. 在Rcpp中用零替換矩陣的第k行
- 19. 使用字典的Sympy矩陣替換
- 20. 用矩陣替換矩陣元素
- 21. 在MATLAB中轉換矩陣
- 22. 用字符串替換矩陣中的數字
- 23. 如何在Matlab中計算大型稀疏矩陣的零點?
- 24. Matlab:基於組大小的矩陣中的非零元素的零組
- 25. 用numpy中的另一個小矩陣替換矩陣的子部分
- 26. MATLAB:點積的矩陣
- 27. 在Matlab中根據矩陣條目的值和索引替換矩陣條目
- 28. 矩陣末尾的Matlab零填充
- 29. 從Matlab的問題開始(零矩陣)
- 30. 在Matlab中將雙矩陣轉換爲整數矩陣
'-realmax'和'-Inf'的體積要小得多。 :-) – horchler