naw*_*ara 2 matlab matrix multiplication
我有一个6231x16825矩阵H和一个16825x1列向量W.
例如,如果W = [2; 3; 3 ...]' 和H = [1 2 3; 4 5 6 ...],我需要获得:
prod = [1*2 2*3 3*3; 4*2 5*3 6*3]
Run Code Online (Sandbox Code Playgroud)
这该怎么做?谢谢
有很多方法可以选择适合你的方式:
使用bsxfun:
res = bsxfun(@times, H, W(:).');
Run Code Online (Sandbox Code Playgroud)矩阵乘法:
res = diag(W) * H;
Run Code Online (Sandbox Code Playgroud)一个循环:
res = nan(size(H));
for k = 1:size(H,2)
res(:, k)= W .* H(:, k);
end
Run Code Online (Sandbox Code Playgroud)