MATLAB norm() 함수

Ammar Ali 2022년7월12일
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-노름을 반환합니다. pInf이면 구문은 주어진 행렬의 행의 최대 절대 합을 반환합니다.

마지막 구문은 주어진 행렬의 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() 함수에 대한 자세한 내용은 이 링크를 확인하세요.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Vector

관련 문장 - MATLAB Matrix