MATLAB의 nnz() 함수

Ammar Ali 2022년6월13일
MATLAB의 nnz() 함수

이 튜토리얼에서는 MATLAB의 nnz() 함수를 사용하여 벡터 또는 행렬에 있는 0이 아닌 요소의 수를 찾는 방법에 대해 설명합니다.

MATLAB에서 nnz() 함수 사용

MATLAB의 nnz() 함수는 벡터 또는 행렬에 있는 0이 아닌 요소를 찾는 데 사용됩니다. 다음은 nnz() 함수의 기본 구문입니다.

통사론:

num = nnz(m)

구문은 행렬 또는 벡터 m 내부에 저장된 0이 아닌 요소의 총 수를 반환하고 변수 num에 저장합니다. nnz() 함수의 입력은 행렬 또는 벡터여야 합니다.

예를 들어, 벡터를 만들고 nnz() 함수를 사용하여 존재하는 0이 아닌 요소의 수를 구해 보겠습니다.

암호:

m = [0 1 0 5]
num = nnz(m)

출력:

m =

   0   1   0   5

num = 2

위 코드에서 4개 요소를 포함하는 벡터를 사용했으며 이 요소 중 2개는 0입니다. nnz() 함수가 2를 반환했음을 알 수 있습니다. 이는 주어진 행렬이나 벡터에 0이 아닌 두 요소가 있음을 의미합니다.

nnz() 함수 내에서 조건을 정의할 수도 있습니다. 1보다 큰 요소의 수만 찾으려면 보다 큼 기호를 사용하여 nnz() 함수 내부의 조건을 정의할 수 있습니다.

예를 들어, 위의 행렬에 존재하는 1보다 큰 요소의 수를 찾아봅시다.

암호:

m = [0 1 0 5]
num = nnz(m>1)

출력:

m =

   0   1   0   5

num = 1

위의 예에서 nnz() 함수 내부에 1보다 큰 요소의 수를 반환하는 조건을 정의했습니다. 1보다 큰 요소의 수는 출력에서 ​​볼 수 있듯이 1입니다.

조건을 정의하지 않으면 nnz() 함수는 0보다 큰 요소 수를 반환하지만 해당 조건을 변경할 수 있습니다. 또한 nnz() 함수를 설정하여 -5와 같은 일부 음수보다 큰 요소 수를 반환할 수 있으며 이 경우 함수는 0을 포함하여 -5보다 큰 모든 요소를 ​​계산합니다.

예를 들어, 행렬에 있는 음수 값보다 큰 요소의 수를 계산해 보겠습니다.

암호:

m = [-5 -1 1 0 5]
num = nnz(m>-5)

출력:

m =

  -5  -1   1   0   5

num = 4

보시다시피 위의 행렬에서 4개의 숫자는 -5보다 크고 nnz() 함수도 4를 출력으로 반환했습니다. >보다 큼, <보다 작음, =보다 크거나 같음, <=보다 작거나 같음, 논리 AND &, 논리 또는 | 연산자를 사용하여 nnz() 함수 내에서 조건을 정의합니다.

AND & 및 OR | 연산자는 둘 이상의 조건을 정의하려는 경우에 유용합니다. AND 연산자의 경우 요소가 모든 조건을 만족하면 카운트되고, OR 연산자의 경우 하나의 조건만 만족하면 요소가 카운트됩니다.

특정 값보다 큰 요소의 수와 특정 값보다 작은 요소의 수를 계산하려면 AND 연산자를 사용하여 두 가지 조건을 정의할 수 있습니다. 특정 값보다 큰 요소의 수와 다른 값보다 큰 요소의 수를 계산하려면 OR 연산자를 사용할 수 있습니다.

예를 들어 nnz() 함수 내에서 여러 조건을 사용하여 행렬에 있는 요소의 수를 계산해 보겠습니다.

암호:

m = [15 10 1 0 5]
num = nnz(m>1 & m<15)
num_2 = nnz(m>5 | m<1)

출력:

m =

   15   10    1    0    5

num = 2
num_2 = 3

AND 연산자를 사용하여 1보다 크고 15보다 작은 요소 수를 찾았으며 nnz() 함수에서도 반환되는 요소가 두 개뿐이라는 것을 알고 있습니다. 또한 OR 연산자를 사용하여 5보다 크거나 1보다 작은 요소 수를 찾았으며 두 요소는 5보다 크고 한 요소는 1보다 작음을 압니다.

총 요소 수는 nnz() 함수에 의해 반환되는 3이 됩니다. nnz() 함수 내에서 AND 및 OR 연산자를 모두 사용하여 조건을 정의하고 조건의 수를 정의할 수도 있습니다.

nnz() 함수에 대한 자세한 내용은 이 문서를 확인하십시오.

작가: 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 Matrix