Main Content

norm

벡터 노름(Vector Norm)과 행렬 노름(Matrix Norm)

설명

예제

n = norm(v)는 벡터 v유클리드 노름을 반환합니다. 이 노름은 2-노름, 벡터 크기 또는 유클리드 길이라고도 합니다.

예제

n = norm(v,p)일반화된 벡터 p-노름을 반환합니다.

예제

n = norm(X)는 대략 max(svd(X))인 행렬 X의 2-노름 또는 최대 특이값을 반환합니다.

n = norm(X,p)는 행렬 X의 p-노름을 반환합니다. 여기서 p1, 2, Inf 중 하나입니다.

예제

n = norm(X,"fro")는 행렬 또는 배열 X프로베니우스 노름을 반환합니다.

예제

모두 축소

벡터를 만들고 크기를 계산합니다.

v = [1 -2 3];
n = norm(v)
n = 3.7417

벡터의 1-노름을 계산합니다. 이는 요소 크기의 합입니다.

v = [-2 3 -1];
n = norm(v,1)
n = 6

두 점 사이의 거리를 벡터 요소 간 차이의 노름으로 계산합니다.

유클리드 평면에 있는 두 점의 (x,y) 좌표를 나타내는 두 벡터를 만듭니다.

a = [0 3];
b = [-2 1];

norm을 사용하여 점 사이의 거리를 계산합니다.

d = norm(b-a)
d = 2.8284

기하학적으로, 점 사이의 거리는 한 점에서 다른 점까지 연장되는 벡터의 크기와 같습니다.

a=0iˆ+3jˆb=-2iˆ+1jˆd(a,b)=||b-a||=(-2-0)2+(1-3)2=8

행렬의 2-노름을 계산합니다. 이는 최대 특이값입니다.

X = [2 0 1;-1 1 0;-3 3 0];
n = norm(X)
n = 4.7234

4차원 배열 X의 프로베니우스 노름을 계산합니다. 이는 열 벡터 X(:)의 2-노름과 동일합니다.

X = rand(3,4,4,3);
n = norm(X,"fro")
n = 7.1247

norm(X,2)는 희소 형식의 X를 지원하지 않으므로 프로베니우스 노름은 희소 행렬의 경우에도 유용합니다.

입력 인수

모두 축소

입력 벡터입니다.

데이터형: single | double
복소수 지원 여부:

입력 배열로, 행렬 또는 배열로 지정됩니다. 대부분의 노름 유형에서 X는 행렬이어야 합니다. 그러나 프로베니우스 노름 계산의 경우 X는 배열일 수 있습니다.

데이터형: single | double
복소수 지원 여부:

노름 유형으로, 2(디폴트 값), 양의 실수형 스칼라, Inf 또는 -Inf로 지정됩니다. p의 유효한 값과 이러한 값이 반환하는 결과는 아래 표에 표시된 대로 norm에 대한 첫 번째 입력값이 행렬인지 또는 벡터인지에 따라 달라집니다.

참고

이 표는 계산에 사용되는 실제 알고리즘을 반영한 것이 아닙니다.

p행렬벡터
1max(sum(abs(X)))sum(abs(v))
2 max(svd(X))sum(abs(v).^2)^(1/2)
양의 실수 값 숫자형 스칼라sum(abs(v).^p)^(1/p)
Infmax(sum(abs(X')))max(abs(v))
-Infmin(abs(v))

출력 인수

모두 축소

노름 값으로, 스칼라로 반환됩니다. 노름은 요소들의 크기에 대한 척도를 제공합니다. 일반적으로 다음과 같습니다.

  • norm은 입력값에 NaN 값이 포함되어 있으면 NaN을 반환합니다.

  • 빈 행렬의 노름은 0입니다.

세부 정보

모두 축소

유클리드 노름(Euclidean Norm)

요소를 N개 가진 벡터 v의 유클리드 노름(벡터 크기, 유클리드 길이 또는 2-노름이라고도 함)은 다음에 의해 정의됩니다.

v=k=1N|vk|2.

일반 벡터 노름

N개 요소를 가진 벡터 vp-노름에 대한 일반 정의는 다음과 같습니다.

vp=[k=1N|vk|p]1/p,

여기서 p는 임의의 양의 실수, Inf 또는 -Inf입니다.

  • p = 1이면 결과로 생성되는 1-노름은 벡터 요소의 절댓값의 합입니다.

  • p = 2이면 결과로 생성되는 2-노름은 벡터 크기 또는 벡터의 유클리드 길이를 제공합니다.

  • p = Inf이면 v=maxi(|v(i)|)입니다.

  • p = -Inf이면 v=mini(|v(i)|)입니다.

열별 요소의 절댓값 합 중 가장 큰 값

m,n >= 2m×n 행렬 X의 열별 요소의 절댓값 합 중 가장 큰 값은 다음에 의해 정의됩니다.

X1=max1jn(i=1m|aij|).

행별 요소의 절댓값 합 중 가장 큰 값

m,n >= 2m×n 행렬 X의 행별 요소의 절댓값 합 중 가장 큰 값은 다음에 의해 정의됩니다.

X=max1im(j=1n|aij|).

프로베니우스 노름(Frobenius Norm)

m,n >= 2m×n 행렬 X의 프로베니우스 노름은 다음에 의해 정의됩니다.

XF=i=1mj=1n|aij|2=trace(XX).

또한 이 정의는 자연적으로 2차원 이상의 배열로 확장됩니다. 예를 들어, X가 크기가 m×n×p×...×q인 N차원 배열인 경우 프로베니우스 노름은 다음과 같습니다.

XF=i=1mj=1nk=1p...w=1q|aijk...w|2.

  • 행렬이나 배열을 벡터의 모음으로 취급하여 지정된 차원을 따라 노름을 계산하려면 vecnorm을 사용하십시오. 예를 들어, vecnorm은 행렬에 있는 각 열의 노름을 계산할 수 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | | | |