2013-06-12 85 views

回答

9

方法有很多种可能,选择适合你的人:

  • 使用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 
    
+1

+1:我觉得'bsxfun'是这种情况下的最佳做法。 –

+3

+1,但最好使用另一个名称作为结果('prod'是一个内置函数) – Amro

+0

@EitanT,并认为你关闭了我的'bsxfun'有趣的问题......没有任何难过的感觉; - ) – Shai