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中执行此操作的最有效方法是什么?
如果你乘以A
10的元素向量,那么简单地乘以标量会不会更容易?
B = A * 10;
Run Code Online (Sandbox Code Playgroud)
对于一般情况,这里不需要repmat
逻辑.bsxfun
可以做到这一点(而且速度更快).:
B = bsxfun(@times, A, x);
Run Code Online (Sandbox Code Playgroud)