2016-02-15 3 views
0

Можем ли мы использовать bsxfun для нормализации всех строк и столбцов в матрице с заданной нормой, чтобы избежать использования циклов? Вопрос касается MATLAB.Нормализация строк/столбцов 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 

неплохо было бы использовать вариант, не прибегая к петлям. Благодаря

+0

вы пробовали 'normr'? –

+1

Да, вам может понадобиться вычислить 'norm()' вручную. – Oleg

+0

просто ответьте на этот вопрос, и вы найдете решение ... http://www.mathworks.com/help/nnet/ref/normr.html –

ответ

0

Если норма 2-норма, то следующие работы:

A = diag(1./diag(sqrt(A*transpose(A)))) * A 
Смежные вопросы