4
A
回答
7
A = [1 2; 3 4]
诊断(1./sum(A,2))* A
2
我建议使用bsxfun。应该更快,更高的内存效率:
bsxfun(@rdivide, A, sum(A,2))
请注意,vecor方向很重要。列将划分矩阵的每一行,行向量将划分每列。
这里有一个小的时间比较:
A = rand(100);
tic
for i = 1:1000
diag(1./sum(A,2))*A;
end
toc
tic
for i = 1:1000
bsxfun(@rdivide, A, sum(A,2));
end
toc
结果:
Elapsed time is 0.116672 seconds.
Elapsed time is 0.052448 seconds.
相关问题
- 1. 如何计算矩阵中元素子集的总和?
- 2. 如何在两个其他矩阵之间按行划分/分割矩阵?
- 3. 来自矩阵的所有2x2子矩阵中的每个元素的总和
- 4. 如何在matlab中对矩阵中的元素进行分组?
- 5. 矩阵行总和在cuda
- 6. 矩阵元素
- 7. 如何加总结构中的矩阵(向量)元素
- 8. 矩阵的优化NumPy的总和通过每一个元素
- 9. 矩阵的k个连通元素的最大总和
- 10. 附加矩阵行和列的总和
- 11. 矩阵的矩阵对角元素
- 12. 如何将矩阵分解为连通分量的总和?
- 13. R:基于元素的矩阵分区
- 14. Matlab,如何比较行矩阵的每个元素与另一行矩阵的每个元素?
- 15. 总和分隔的元素
- 16. 查找矩阵中不同行和列的元素总数的最大值
- 17. 选择矩阵元素(矩阵语言)
- 18. 用矩阵替换矩阵元素
- 19. 查找行总和的矩阵
- 20. 分割三维矩阵划分为多个二维矩阵
- 21. 总和元素,以获得对应矩阵
- 22. 矩阵和向量的元素乘积
- 23. 矩阵幂的元素之和
- 24. 如何访问三维矩阵元素?
- 25. 如何合并元素在矩阵
- 26. 如何重复元素矩阵在MATLAB
- 27. 如何访问稀疏矩阵元素?
- 28. 如何提取序列矩阵元素?
- 29. 矩阵中的列总和
- 30. MATLAB:如何计算矩阵元素的分布
这种事情以前(同样的想法,不同的算术运算)有人问:如何通过划分矩阵元素列总结在MATLAB?](http://stackoverflow.com/questions/1773099/how-do-i-divide-matrix-elements-by-column-sums-in-matlab),[我怎样才能划分每行的矩阵由固定行?](http://stackoverflow.com/questions/4723824/how-can-i-divide-each-row-of-a-matrix-by-a-fixed-row) – gnovice 2011-04-04 14:09:30