MATLAB norm() 함수
이 튜토리얼에서는 MATLAB의 norm()
함수를 사용하여 벡터 또는 행렬의 유클리드 및 프로베니우스 노름을 찾는 방법에 대해 설명합니다.
MATLAB norm()
함수
MATLAB의 norm()
함수는 벡터 또는 행렬의 유클리드 및 프로베니우스 노름을 찾는 데 사용됩니다. 유클리드 노름은 벡터의 크기, 2-노름 또는 유클리드 길이와 같은 원점에서 벡터의 유클리드 거리입니다.
유클리드 거리는 유클리드 공간에서 두 점 사이의 선분의 길이와 같습니다. 우리는 또한 벡터의 내적을 자체적으로 찾은 다음 제곱근을 취하여 유클리드 노름을 찾을 수 있습니다.
Frobenius 노름은 행렬의 유클리드 노름입니다. norm()
함수 내부에 벡터를 전달하면 해당 벡터의 유클리드 노름이 반환되지만 행렬의 경우 norm()
함수는 Frobenius 노름을 반환합니다.
norm()
함수에는 아래와 같이 5가지 구문이 있습니다.
nm = norm(vec)
nm = norm(vec,p)
nm = norm(mat)
nm = norm(mat,p)
nm = norm(mat,"fro")
첫 번째 구문은 주어진 벡터의 2-노름 또는 유클리드 노름을 반환합니다. 두 번째 구문은 주어진 벡터의 p
-norm을 반환합니다. 여기서 p
-norm은 1-norm, 2-norm, 3-norm 등이 될 수 있습니다.
세 번째 구문은 최대 특이성 값 또는 행렬의 유클리드 노름을 반환합니다. 네 번째 구문은 주어진 행렬의 p
-노름을 반환하고 p
는 1, 2 또는 Inf
가 될 수 있습니다.
p
가 1이면 구문은 주어진 행렬의 열의 최대 절대 합을 반환하고 p
가 2이면 2-노름을 반환합니다. p
가 Inf
이면 구문은 주어진 행렬의 행의 최대 절대 합을 반환합니다.
마지막 구문은 주어진 행렬의 Frobenius 노름을 반환합니다. 예를 들어 norm()
함수를 사용하여 벡터와 행렬의 유클리드 노름을 구해 보겠습니다.
아래 코드를 참조하십시오.
clc
clear
v1 = 1:5;
m = [1:10;21:30];
n1 = norm(v1)
n3 = norm(m)
출력:
n1 =
7.4162
n3 =
83.2005
위의 출력에서 전체 행렬의 노름이 반환되며 이는 83
입니다. 행렬에 있는 각 행이나 열의 노름을 찾으려면 vecnorm()
함수를 사용할 수 있습니다. 이 함수는 주어진 행렬의 각 행이나 열을 별도의 벡터로 처리하고 노름을 계산합니다.
예를 들어 vecnorm()
함수 내부에 행렬을 전달하면 주어진 행렬에 있는 각 열의 2-노름을 포함하는 벡터를 반환합니다. 또한 두 번째 인수로 표준 번호를 설정하고 vecnorm()
함수 내에서 표준을 세 번째 인수로 사용하려는 차원을 설정할 수 있습니다.
norm()
함수에 대한 자세한 내용은 이 링크를 확인하십시오. 또한 vecnorm()
함수에 대한 자세한 내용은 이 링크를 확인하세요.