7
我有一個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;
想想看:在循環的每次迭代,你用一個矢量乘以矩陣。該操作的結果是一個向量,您將其保存到第i列的答案中。矩陣乘法是一個類似的事情:你可以把它理解爲一個矩陣(W)乘以一組向量,形成矩陣u。
所以你的代碼是好的,只是刪除循環:)
不知道是否只是間隔或實際推遲。 :-) 謝謝。 – mac389