在不使用循环的情况下规范化行/列MATLAB

时间:2016-02-15 21:14:01

标签: matlab normalize

我们可以使用bsxfun将矩阵中的所有行和列规范化为给定的范数,以避免使用循环吗?该课题涉及MATLAB。

我的工作是:

   A   % I want to normalize rows in A
   norm_type = 1 ;   % or 2 or inf
   for i = 1 : size(A,1)
      tmp = norm(A(i,:),norm_type);
      A(i,:) = A(i,:)./tmp ;

   end

在不诉诸循环的情况下使用选项会很不错。感谢

1 个答案:

答案 0 :(得分:0)

如果标准是2范数,那么以下工作:

A = diag(1./diag( sqrt(A*transpose(A)))) * A