我有一个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
我有一个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 = W*u;
想想看:在循环的每个迭代你乘以一个向量矩阵。 该操作的结果是一个载体,它保存成列我你的答案。 矩阵乘法是类似的事情:您可以通过一组向量,形成的矩阵U把它理解为一个矩阵(W)的乘积。
所以,你的代码是好的,只是消除环路:)