Main Content

nnz

0이 아닌 행렬 요소의 개수

설명

예제

N = nnz(X)는 행렬 X에 포함된 0이 아닌 요소의 개수를 반환합니다.

예제

모두 축소

단위 행렬을 만들고 이 행렬에 포함된 0이 아닌 요소의 개수를 확인합니다.

X = eye(4)
X = 4×4

     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1

N = nnz(X)
N = 4

nnz를 관계 연산자와 함께 사용하여 조건을 충족하는 행렬 요소의 개수를 확인합니다. 관계 연산자는 1과 0으로 된 논리형 행렬을 생성하므로 nnz 함수는 조건이 true인 1의 개수를 셉니다.

행렬을 만들고 10보다 큰 요소의 개수를 확인합니다.

X = magic(5)
X = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

nnz(X>10)
ans = 15

행렬의 밀도는 요소의 총 개수 대비 0이 아닌 요소의 비율, 즉 nnz(X)/numel(X)입니다.

L 모양 정의역의 유한 차분 라플라시안을 나타내는 희소 행렬을 만들고 이 행렬의 밀도를 계산합니다.

X = delsq(numgrid('L',20));
spy(X)

Figure contains an axes object. The axes object with xlabel nz = 1143 contains a line object which displays its values using only markers.

d = nnz(X)/numel(X)
d = 0.0194

결과를 통해 행렬의 요소 중 단 2%만 0이 아님을 알 수 있습니다.

입력 인수

모두 축소

입력 행렬입니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | calendarDuration
복소수 지원 여부:

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |