我得到了矩陣A(n,m),我想將其乘以向量b(n),以便結果B [n,m] = A [n,m] * b [ N]。有可能通過創建一個新的矩陣C=b*ones(1,m)
然後使用點乘法:B=A.*C
,但它是浪費內存(A
的大小是5000 * 1000)。可以使用循環。也許有更優雅的方式來做到這一點?將矩陣乘以向量
Q
將矩陣乘以向量
2
A
回答
5
使用bsxfun
,這只是爲:
B = bsxfun(@times, A, b(:));
0
你的第一個想法是好的。用b的元素生成C,然後乘以B = A * C。但是你是對的,它會佔用大量的記憶。如果你做了類似的事情,但是創建矩陣C只是稀疏矩陣的對角線,它會做同樣的事情,但是會節省大量的內存。
B = spdiags(b,0,n,n)*A;
你現在的矩陣是A的左側,因爲你是縮放行,但puting左新對角矩陣,你會做同樣的列。
相關問題
- 1. 乘以向量和矩陣
- 2. 矩陣乘以向量
- 3. 將矩陣中的每列乘以向量中的列乘以
- 4. 矩陣與向量乘法
- 5. NASM矩陣向量乘法
- 6. 將一個固定矩陣乘以大量的向量
- 7. 將數組乘以另一個矩陣的指定行向量
- 8. 將矩陣中的每一行乘以一個行向量
- 9. 將矩陣的行乘以一個向量(低級優化)?
- 10. 用矢量乘以矩陣陣列
- 11. 矩陣乘矢量乘法
- 12. Matlab 2x2矩陣的陣列和逐元矩陣/向量乘法
- 13. Matlab - 將矩陣乘以3D矩陣的每個矩陣
- 14. 矩陣與R中的向量相乘
- 15. 矩陣和向量乘法在libdx
- 16. 矩陣向量乘法在MPI和C
- 17. 矩陣向量乘法CCS C++
- 18. 矩陣乘法與向量 - C++
- 19. C++中的矩陣向量乘法
- 20. Toeplitz矩陣向量乘法R
- 21. 矩陣和向量的元素乘積
- 22. CUDA/CUBLAS矩陣向量乘法
- 23. 分塊矩陣 - 向量乘法
- 24. 由列向量乘法三維矩陣
- 25. 矩陣向量乘積CUDA的性能
- 26. 與特徵向量 - 矩陣相乘
- 27. 矩陣乘以組
- 28. 相乘以矩陣
- 29. 乘以矩陣C++
- 30. 乘以逆矩陣?