由另一矩阵相乘的矩阵的各列(Multiply each column of a matrix by

2019-09-23 06:24发布

我有一个M x N矩阵。 我想乘每个的N由列M x M矩阵。 下面这是否在一个循环中,但我不知道如何向量化它。

 u=repmat(sin(2*pi*f*t),[n 1]);
 W = rand(n);
 answer = size(u);
 for i=1:size(u,2)
   answer(:,i) = W*u(:,i);
 end

Answer 1:

你只需要乘以两个矩阵:

answer = W*u;

想想看:在循环的每个迭代你乘以一个向量矩阵。 该操作的结果是一个载体,它保存成列我你的答案。 矩阵乘法是类似的事情:您可以通过一组向量,形成的矩阵U把它理解为一个矩阵(W)的乘积。

所以,你的代码是好的,只是消除环路:)



文章来源: Multiply each column of a matrix by another matrix