我有一些元素变为零的矩阵。这对我后续的操作(取日志等)是一个问题。有没有办法使用我选择的输入快速替换矩阵中的零个元素。快速 - 意思是没有循环。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