通过向量元素乘以矩阵

skr*_*skr 1 matlab matrix-multiplication elementwise-operations

假设我有一个矩阵A = rand(2,14,24)和一个向量x = 10*1(1,14)

我想要A和x的元素乘法,使得对于所有j = 1,2,...,B(i,j,k)= A(i,j,k)*x(j).我希望能够在不运行循环的情况下完成此操作.在matlab中执行此操作的最有效方法是什么?

Eit*_*n T 7

如果你乘以A10的元素向量,那么简单地乘以标量会不会更容易?

B = A * 10;
Run Code Online (Sandbox Code Playgroud)

对于一般情况,这里不需要repmat逻辑.bsxfun可以做到这一点(而且速度更快).:

B = bsxfun(@times, A, x);
Run Code Online (Sandbox Code Playgroud)