Можем ли мы использовать 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
было бы неплохо использовать вариант, не прибегая к циклам. Спасибо
normr
? - person Alvaro Joao   schedule 16.02.2016norm()
вручную. - person Oleg   schedule 16.02.2016normr
вычисляет норму для каждой строки, что хорошо, но в конце вам нужно разделить каждую строку с этой нормой. Было бы неплохо сделать это без цикла. Также я думаю, что он не допускает разные типы норм по определению, тогда какnorm
разрешает! - person Yas   schedule 16.02.2016bsxfun(@times,A,1./sqrt(sum(A.*A,2)
%нормализовать норму каждой строки 1:bsxfun(@times,A,1./sum(abs(A),2)
%нормализовать норму каждой строки inf:bsxfun(@times,A,1./max(A,[],2)
- person Yas   schedule 16.02.2016