Использование функции нормы в matlab на подвекторе трехмерного вектора - PullRequest
0 голосов
/ 10 мая 2018

У меня есть вектор с именем x, который является трехмерным вектором. В моем коде мне нужно вычислить норму x (1,1, :) (вектор состоит из x (1,1,1), x (1,1,2), ...). Если я пытаюсь использовать команду norm (x (1, i, :)), Matlab возвращает мне ошибку «Ввод должен быть 2-D». Что я могу сделать?

1 Ответ

0 голосов
/ 10 мая 2018

MATLAB norm - это «специальная» функция, она не работает, как многие другие функции, такие как sum и mean.

Однако vecnorm ведет себя как эти функции. Он вычисляет норму по первому не-одиночному измерению, или вы можете указать, по какому измерению вычислять норму:

vecnorm(x(1,1,:))
vecnorm(x,2,3) % computes 2-norm for all vectors along 3rd dimension.

Обратите внимание, что эта функция была введена в R2017b. Для более старых версий вы можете эмулировать поведение, используя sqrt(sum(x.^2,3)).

...