2013-04-25 2 views
4

Я пришел к функции norm в Matlab и проверил его документацию, но мне было непонятно. Можете ли вы просто уточнить, что именно это делает?Что такое `norm` в matlab?

Кроме того, при выборе inf, который, основываясь на документах, «возвращает бесконечность, норма», что это значит?

+4

Этот вопрос относится к http://math.stackexchange.com/ (или википедии для подобных) – Oleg

+0

@OlegKomarov - вторая часть относится к математике, но первая принадлежит здесь. – Shai

+0

@Shai Не согласен - документация не ясна, потому что у читателя явно недостаточно знаний о векторных и матричных нормах. Конечно, можно сказать ему, что «он отображает вектор или матрицу в скаляр или набор векторов в вектор скаляров», но не имеет особого значения, если он не знает, что такое норма. – user1207217

ответ

3

Matlab обеспечивают векторные и матричные нормы и norm функции вычисляет несколько различных типов матрицы норм нормы матрицы является скаляром, что дает некоторую меру величины элементов матрицы. Функция нормы вычисляет несколько различных типов матричных норм:

n = norm(A) returns the largest singular value of A, max(svd(A)). 

Теперь inf является The infinity norm или largest row sum of A, как max(sum(abs(A')))
Обратите внимание, что norm(A) где А представляет собой вектор п-элемент, длина А как вы также можете найти root-mean-square (RMS) значение на norm(A)/sqrt(n)
Отметим, что норма (x) является евклидовой длиной вектора x. С другой стороны, MATLAB использует длину, чтобы обозначить количество элементов n в векторе. В этом примере используется норма (x)/sqrt (n) для получения значения среднеквадратичного значения (RMS) вектора n-элемента x.
В качестве примера

x = [0 1 2 3] 
x = 
    0  1  2  3 

sqrt(0+1+4+9) % Euclidean length 
ans = 
    3.7417 

norm(x) 
ans = 
    3.7417 

n = length(x) % Number of elements 
n = 
    4 

rms = 3.7417/2 % rms = norm(x)/sqrt(n) 
rms = 
    1.8708 
1

norm только вычисления нормы vector или matrix. В большинстве случаев, вы заинтересованы в так называемой Euclidean нормы, поэтому по умолчанию MATLAB будет вызывать

norm(X,2) == norm(X) 

Если вы находитесь в пространстве с p размерами, мы можем думать, чтобы использовать норму с более высокими размерами.

Ваш вопрос больше связан с чисто математической подготовкой, так что я хотел бы предложить вам, чтобы получить хорошую алгебра & геометрии учебник: Google может быть полезно тоже, а также wiki.

Надеюсь, это поможет немного.

Редактировать

В вашем случае, я думаю, я бы на этом пути

pdist2(Cluster,Centroid) 

который определит расстояние каждого элемента в вашем Cluster от Centroid.

+0

Спасибо за ваш ответ. Итак, является ли «норма» другими словами так же, как «расстояние»? – Simplicity

+0

@ Med-SWEng Нет, расстояние эквивалентно определенному случаю нормы, но я думаю, что норма более общая – Dan

+1

@ Med-SWEng: Я думаю, что вам не хватает математических основ – fpe

13

Норма поднимает каждое значение до мощности, добавляет их, затем берет корень (корень-значение-корень).Вы можете распознать 2 норму от расстояния между 2 точками расчетов

данные: 2,3,5

2 norm: square root(2^2 + 3^2 + 5^2) 
3 norm: cube root(2^3 + 3^3 + 5^3) 
4 norm: 4th root(2^4 + 3^4 + 5^4) 

и т.д. и т.д. и т.п.

Интересно:

99999 norm = 99999th root(2^99999 + 3^99999 + 5^99999) approximately equals 5 (the largest value) 

Итак:

infinity norm= infinityth root(2^infinity + 3^infinity + 5^infinity)=5 

В принципе, бесконечная норма заканчивается как самая большая ценность

+0

Спасибо за ваш ответ. Итак, если у нас есть следующая «норма» [[x (i) -y (j)]), то как она выглядит в математике? – Simplicity

+0

, который сильно зависит от того, какие x (i) и y (j) есть, находятся ли они внутри цикла, изменяющего i и j, и представляют собой x (i) и y (j) одиночные числа или строки чисел. Весь код сообщит мне, что –

+0

@ Med-SWEng. Это означает, что [x (i) -y (j)] будет сначала вычисляться, а затем передаваться в функцию, поэтому просто поместите это на строку в matlab (без каких-либо; в конце), и вы увидите, что Matlab подает в основную функцию, тогда он обработает его точно так же, как в моем главном ответе. –

Смежные вопросы