我有一个 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]
这个怎么做?谢谢
我有一个 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]
这个怎么做?谢谢
方法有很多种,选择适合自己的一种:
使用bsxfun
:
res = bsxfun(@times, H, W(:).');
矩阵乘法:
res = diag(W) * H;
一个循环:
res = nan(size(H));
for k = 1:size(H,2)
res(:, k)= W .* H(:, k);
end