У меня есть матрица A (n, m), и я хочу умножить ее на вектор b (n), так что результат B [n, m] = A [n, m] * b [ п]. Это можно сделать, создав новую матрицу C=b*ones(1,m)
, а затем используйте умножение точки: B=A.*C
, но это пустая трата памяти (размер A
составляет 5000 * 1000). Можно использовать циклы. Может быть, есть более элегантный способ сделать это?Умножить матрицу на вектор
2
A
ответ
5
Использование bsxfun
, что только для этого:
B = bsxfun(@times, A, b(:));
0
Ваша первая идея была хорошей. Сгенерируйте C с элементами b, а затем умножьте B = A. * C. Но вы правы, это займет много памяти. Если вы делаете что-то подобное, но создаете матрицу C только диагональю разреженной матрицы, она будет делать то же самое, но сэкономить много памяти.
B = spdiags(b,0,n,n)*A;
Ваша матрица теперь в левой части А, потому что вы масштабирование строк, но кладя новую диагональную матрицу в левой стороне вы будете делать то же самое для столбцов.
Смежные вопросы
- 1. Эйген: умножить матрицу поплавка на BOOL вектор
- 2. Как умножить вектор и 3D-матрицу
- 3. Умножить матрицу или вектор на скаляр в c
- 4. Матрицы в Netlogo: как умножить вектор столбца на матрицу?
- 5. Умножить вектор по матрице
- 6. умножить матрицу с вектором
- 7. Как умножить матрицу на C#?
- 8. Как умножить массив numpy на матрицу numpy?
- 9. умножить массив матриц на вектор
- 10. Как разделить мудрый умножить вектор и матрицу в MATLAB?
- 11. Как умножить вектор 3 раза, чтобы получить 3 размерную матрицу
- 12. Как умножить два вектора и получить матрицу?
- 13. Вектор-вектор умножения создать матрицу
- 14. NumPy: лучший способ умножить матрицу на массив?
- 15. Как умножить заданную матрицу на ее транспонирование?
- 16. Prolog - Умножить матрицу с номером
- 17. как умножить скаляр на вектор в opencv
- 18. R: Как умножить элементы списка на вектор?
- 19. SSE (SIMD): умножить вектор на скалярный
- 20. Умножить столбцы в кадре данных на вектор
- 21. Лучший способ умножить вектор на столбцы матрицы
- 22. Невозможно умножить матрицу с armadillo
- 23. Opencv умножить скаляр и матрицу
- 24. Как умножить матрицу и постоянную матрицу в R
- 25. Умножить элементный массив и прямоугольную матрицу
- 26. Как умножить эту матрицу в MATLAB
- 27. GSL/BLAS: умножить матрицу с обратной матрицей
- 28. Как умножить матрицу с помощью указателей - C
- 29. Невозможно умножить матрицу в opencv java
- 30. умножить матрицу с помощью потоков в c