histcounts2
이변량 히스토그램 Bin 도수
구문
설명
[
는 위에 열거된 구문에서 하나 이상의 이름-값 인수를 사용하여 추가적인 파라미터를 지정합니다. 예를 들어, 각 차원의 Bin 너비를 조정하려면 N
,Xedges
,Yedges
] = histcounts2(___,Name,Value
)BinWidth
를 요소를 2개 가진 벡터로 지정합니다.
예제
Bin 도수와 Bin 경계값
100개의 난수 쌍을 Bin에 분포시킵니다. histcounts2
는 데이터의 기본 분포를 나타내는 데 적합한 Bin 너비를 자동으로 선택합니다.
x = randn(100,1); y = randn(100,1); [N,Xedges,Yedges] = histcounts2(x,y)
N = 7×6
0 0 0 2 0 0
1 2 10 4 0 0
1 4 9 9 5 0
1 4 10 11 5 1
1 4 6 3 1 1
0 0 1 2 0 0
0 0 1 0 1 0
Xedges = 1×8
-3 -2 -1 0 1 2 3 4
Yedges = 1×7
-3 -2 -1 0 1 2 3
각 차원의 Bin 개수 지정하기
10개의 숫자 쌍을 12개의 Bin에 분포시킵니다. x 차원에 3개의 Bin을 지정하고 y 차원에 4개의 Bin을 지정합니다.
x = [1 1 2 3 2 2 1 1 2 3]; y = [5 6 3 8 9 1 2 7 5 1]; nbins = [3 4]; [N,Xedges,Yedges] = histcounts2(x,y,nbins)
N = 3×4
1 0 2 1
1 1 1 1
1 0 0 1
Xedges = 1×4
0.6000 1.4000 2.2000 3.0000
Yedges = 1×5
0 2.3000 4.6000 6.9000 9.2000
Bin 경계값 지정
1,000개의 난수 쌍을 Bin에 분포시킵니다. x 차원과 y 차원에 각각 하나씩 두 개의 벡터를 사용하여 Bin 경계값을 정의합니다. 각 벡터의 첫 번째 요소는 첫 번째 Bin의 첫 번째 경계값이고, 마지막 요소는 마지막 Bin의 마지막 경계값입니다.
x = randn(1000,1); y = randn(1000,1); Xedges = -5:5; Yedges = [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5]; N = histcounts2(x,y,Xedges,Yedges)
N = 10×10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 5 5 3 5 1 2 0 0
0 2 19 23 29 25 26 20 5 0
0 10 36 51 59 71 54 46 10 0
0 7 43 46 79 64 60 46 9 0
0 3 12 18 21 23 19 9 6 0
0 0 5 3 2 8 2 2 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
정규화된 Bin 도수
1,000개의 난수 쌍을 Bin에 분포시킵니다. Normalization
을 'probability'
로 지정하여, sum(N(:))
이 1
이 되도록 Bin 도수를 정규화합니다. 즉, 각 Bin 도수는 한 관측값이 해당 Bin에 속할 확률을 나타냅니다.
x = randn(1000,1); y = randn(1000,1); [N,Xedges,Yedges] = histcounts2(x,y,6,'Normalization','probability')
N = 6×6
0 0 0.0020 0.0020 0 0
0 0.0110 0.0320 0.0260 0.0070 0.0010
0.0010 0.0260 0.1410 0.1750 0.0430 0.0060
0 0.0360 0.1620 0.1940 0.0370 0.0040
0 0.0040 0.0300 0.0370 0.0100 0.0010
0 0.0030 0.0040 0.0040 0.0010 0
Xedges = 1×7
-4.0000 -2.7000 -1.4000 -0.1000 1.2000 2.5000 3.8000
Yedges = 1×7
-4.0000 -2.7000 -1.4000 -0.1000 1.2000 2.5000 3.8000
Bin 배치 확인
-10과 10 사이의 임의의 정수 쌍 1,000개를 Bin에 분포시키고 BinMethod
를 'integers'
로 지정하여 정수의 중앙에 위치하는 동일 너비 Bin을 사용합니다. histcounts2
에 대해 5개 출력값을 지정하여 데이터의 Bin 배치를 나타내는 벡터를 반환합니다.
x = randi([-10,10],1000,1); y = randi([-10,10],1000,1); [N,Xedges,Yedges,binX,binY] = histcounts2(x,y,'BinMethod','integers');
값 (x(3),y(3))
이 어떤 Bin에 포함되는지 확인합니다.
[x(3),y(3)]
ans = 1×2
-8 10
bin = [binX(3) binY(3)]
bin = 1×2
3 21
입력 인수
X,Y
— Bin 사이에 분포시킬 데이터(개별 인수)
벡터 | 행렬 | 다차원 배열
Bin 사이에 분포시킬 데이터로, 벡터, 행렬, 다차원 배열 중 한 가지 형식의 개별 인수로 지정됩니다. X
와 Y
는 크기가 동일해야 합니다.
X
와 Y
의 대응하는 요소는 2차원 데이터 점의 x, y 좌표 [X(k),Y(k)]
를 지정합니다. X
와 Y
의 데이터형은 서로 다를 수 있습니다.
histcounts2
는 모든 NaN
값을 무시합니다. 마찬가지로, Bin 경계값이 Inf
또는 -Inf
를 명시적으로 Bin 경계값으로 지정하지 않는 한 histcounts2
는 Inf
값과 -Inf
값을 무시합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
nbins
— 각 차원의 Bin 개수
양의 정수 스칼라 | 양의 정수로 구성된 요소를 2개 가진 벡터
각 차원의 Bin 개수로, 양의 정수 스칼라 또는 양의 정수로 구성된 요소를 2개 가진 벡터로 지정됩니다.
nbins
가 스칼라이면histcounts2
함수는 각 차원에 포함된 개수만큼의 Bin을 사용합니다.nbins
가 벡터이면 첫 번째 요소는 x 차원의 Bin 개수를 지정하고, 두 번째 요소는 y 차원의 Bin 개수를 지정합니다.
nbins
를 지정하지 않으면 histcounts2
함수는 X
와 Y
의 값을 기반으로 하여 사용할 Bin의 개수를 자동으로 계산합니다.
nbins
를 BinMethod
또는 BinWidth
와 함께 지정할 경우 histcounts2
함수는 마지막 파라미터만 적용합니다.
예: [N,Xedges,Yedges] =
는 histcounts2
(X,Y,15)x
차원과 y
차원에서 15개의 Bin을 사용합니다.
예: [N,Xedges,Yedges] =
은 histcounts2
(X,Y,[15 20])x
차원에서 15개의 Bin을 사용하고 y
차원에서 20개의 Bin을 사용합니다.
Xedges
— x 차원의 Bin 경계값
벡터
x 차원의 Bin 경계값으로, 벡터로 지정됩니다. 첫 번째 요소는 x 차원의 첫 번째 Bin의 앞쪽 경계값을 지정합니다. 마지막 요소는 x 차원의 마지막 Bin의 뒤쪽 경계값을 지정합니다. 뒤쪽 경계값은 마지막 Bin에 대해서만 포함됩니다.
Xedges
와Yedges
를BinMethod
,BinWidth
또는NumBins
와 함께 지정할 경우histcounts2
함수는 Bin 경계값만 적용하므로 Bin 경계값을 마지막에 지정해야 합니다.Xedges
를XBinLimits
와 함께 지정할 경우histcounts2
함수는Xedges
만 적용하므로Xedges
를 마지막에 지정해야 합니다.
Yedges
— y 차원의 Bin 경계값
벡터
y 차원의 Bin 경계값으로, 벡터로 지정됩니다. 첫 번째 요소는 y 차원의 첫 번째 Bin의 앞쪽 경계값을 지정합니다. 마지막 요소는 y 차원의 마지막 Bin의 뒤쪽 경계값을 지정합니다. 뒤쪽 경계값은 마지막 Bin에 대해서만 포함됩니다.
Yedges
와Xedges
를BinMethod
,BinWidth
또는NumBins
와 함께 지정할 경우histcounts2
함수는 Bin 경계값만 적용하므로 Bin 경계값을 마지막에 지정해야 합니다.Yedges
를YBinLimits
와 함께 지정할 경우histcounts2
함수는Yedges
만 적용하므로Yedges
를 마지막에 지정해야 합니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: [N,Xedges,Yedges] = histcounts2(X,Y,'Normalization','probability')
는 sum(N)
이 1이 되도록 N
의 Bin 도수를 정규화합니다.
BinWidth
— 각 차원의 Bin 너비
양수 값으로 구성된 요소를 2개 가진 벡터
각 차원의 Bin 너비로, 양수 값으로 구성된 요소를 2개 가진 벡터로 지정됩니다. 첫 번째 요소는 x 차원의 Bin 너비를 지정하고, 두 번째 요소는 y 차원의 Bin 너비를 지정합니다.
BinWidth
를 지정할 경우 histcounts2
함수는 각 차원에 최대 1024개의 Bin(210)을 사용할 수 있습니다. 지정된 Bin 너비에 더 많은 Bin이 필요할 경우 histcounts2
함수는 최대 Bin 개수에 해당하는 더 큰 Bin 너비를 사용합니다.
BinWidth
를 BinMethod
또는 NumBins
와 함께 지정할 경우 histcounts2
함수는 마지막 파라미터만 적용합니다.
예:
은 histcounts2
(X,Y,'BinWidth',[5 10])x
차원의 크기가 5
이고 y
차원의 크기가 10인 Bin을 사용합니다.
XBinLimits
— x 차원의 Bin 제한
요소를 2개 가진 벡터
x 차원의 Bin 제한으로, 요소를 2개 가진 벡터 [xbmin,xbmax]
로 지정됩니다. 첫 번째 요소는 x 차원의 첫 번째 Bin 경계값을 나타냅니다. 두 번째 요소는 x 차원의 마지막 Bin 경계값을 나타냅니다.
이 옵션은 Bin 제한 값(X>=xbmin & X<=xbmax
) 내에 있는 데이터만 비닝합니다.
YBinLimits
— y 차원의 Bin 제한
요소를 2개 가진 벡터
y 차원의 Bin 제한으로, 요소를 2개 가진 벡터 [ybmin,ybmax]
로 지정됩니다. 첫 번째 요소는 y 차원의 첫 번째 Bin 경계값을 나타냅니다. 두 번째 요소는 y 차원의 마지막 Bin 경계값을 나타냅니다.
이 옵션은 Bin 제한 값(Y>=ybmin & Y<=ybmax
) 내에 있는 데이터만 비닝합니다.
BinMethod
— 비닝(Binning) 알고리즘
'auto'
(디폴트 값) | 'scott'
| 'fd'
| 'integers'
비닝 알고리즘으로, 다음 표에 있는 값 중 하나로 지정됩니다.
값 | 설명 |
---|---|
'auto' | 디폴트 |
'scott' | 스콧의 법칙(Scott's Rule)은 데이터가 정규분포에 가까운 경우 가장 적합합니다. 이 법칙은 대부분의 다른 분포에도 적합합니다. 이 법칙은 Bin 크기로 |
'fd' | 프리드만-다이아코니스 법칙(Freedman-Diaconis Rule)은 데이터의 이상값에 덜 민감하며, 두꺼운 꼬리 분포의 데이터에 더 적합할 수 있습니다. 이 법칙은 Bin 크기로 |
'integers' | 정수 규칙은 정수 쌍의 중앙에 Bin을 생성하므로 정수 데이터에 유용합니다. 이 규칙은 각 차원에 대해 Bin 너비로 1을 사용하며, 정수 사이의 중간 위치에 Bin 경계값을 배치합니다. 잘못하여 너무 많은 Bin을 생성하지 않으려면 이 규칙을 사용하여 1024개의 Bin 제한(210)을 생성할 수 있습니다. 어느 한 차원이라도 데이터 범위가 1024보다 큰 경우 정수 규칙은 대신 더 넓은 Bin을 사용합니다. |
histcounts2
함수는 이러한 식을 정확히 그대로 사용하는 대신 Bin 경계값이 "적절한" 숫자가 되도록 Bin 개수를 약간 조정합니다.NumBins
,XBinEdges
,YBinEdges
,BinWidth
,XBinLimits
또는YBinLimits
속성을 설정하면BinMethod
가'manual'
로 설정됩니다.BinMethod
를BinWidth
또는NumBins
와 함께 지정할 경우histcounts2
함수는 마지막 파라미터만 적용합니다.
예:
는 2차원 Bin의 중심을 각 정수 쌍에 둡니다.histcounts2
(X,Y,'BinMethod','integers')
Normalization
— 정규화 유형
'count'
(디폴트 값) | 'probability'
| 'percentage'
| 'countdensity'
| 'cumcount'
| 'pdf'
| 'cdf'
정규화 유형으로, 다음 표에 있는 값 중 하나로 지정됩니다. i
는 Bin이며, i에 대해 다음과 같습니다.
는 Bin의 값입니다.
는 Bin의 요소 개수입니다.
는 x와 y의 Bin 너비를 사용하여 계산되는 Bin의 면적입니다.
은 입력 데이터의 요소 개수입니다. 데이터에 누락값이 포함되어 있거나 데이터의 일부가 Bin 제한을 벗어나는 경우 이 값은 비닝(Binning)된 데이터보다 클 수 있습니다.
값 | Bin 값 | 참고 |
---|---|---|
'count' (디폴트 값) |
|
|
'probability' |
|
|
'percentage' |
|
|
'countdensity' |
|
|
'cumcount' |
|
|
'pdf' |
|
|
'cdf' |
|
|
예:
는 확률 밀도 함수의 추정값을 사용하여 데이터를 비닝합니다.histcounts2
(X,Y,'Normalization','pdf')
출력 인수
N
— Bin 도수
배열
Bin 도수로, 배열로 반환됩니다.
비닝 방식에는 각 Bin의 x 차원 및 y 차원의 앞쪽 경계값뿐만 아니라 x 차원과 y 차원에 있는 마지막 Bin의 뒤쪽 경계값도 포함됩니다.
예를 들어, (1,1)
Bin에는 각 차원의 첫 번째 경계값에 해당하는 값이 포함되고, 오른쪽 맨 아래에 있는 마지막 Bin에는 양쪽 경계값에 해당하는 값이 포함됩니다.
Xedges
— x 차원의 Bin 경계값
벡터
x 차원의 Bin 경계값으로, 벡터로 반환됩니다. 첫 번째 요소는 x 차원의 첫 번째 Bin의 앞쪽 경계값입니다. 마지막 요소는 x 차원의 마지막 Bin의 뒤쪽 경계값입니다.
Yedges
— y 차원의 Bin 경계값
벡터
y 차원의 Bin 경계값으로, 벡터로 반환됩니다. 첫 번째 요소는 y 차원의 첫 번째 Bin의 앞쪽 경계값입니다. 마지막 요소는 y 차원의 마지막 Bin의 뒤쪽 경계값입니다.
binX
— x 차원의 Bin 인덱스
배열
x 차원의 Bin 인덱스로, X
와 동일한 크기의 배열로 반환됩니다. binX
와 binY
의 대응하는 요소는 X
와 Y
의 대응값이 어떤 번호의 Bin에 포함되는지를 설명합니다. binX
또는 binY
의 0
값은 Bin에 속하지 않는 요소를 나타냅니다(예: NaN
값).
예를 들어, binX(1)
과 binY(1)
은 값 [X(1),Y(1)]
에 대한 Bin 배치를 설명합니다.
binY
— y 차원의 Bin 인덱스
배열
y 차원의 Bin 인덱스로, Y
와 동일한 크기의 배열로 반환됩니다. binX
와 binY
의 대응하는 요소는 X
와 Y
의 대응값이 어떤 번호의 Bin에 포함되는지를 설명합니다. binX
또는 binY
의 0
값은 Bin에 속하지 않는 요소를 나타냅니다(예: NaN
값).
예를 들어, binX(1)
과 binY(1)
은 값 [X(1),Y(1)]
에 대한 Bin 배치를 설명합니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성 시 이 함수에 대해 희소 행렬 입력값은 지원되지 않습니다.
코드 생성을 위해서는 Bin 경계값 비지정 시 가변 크기 배열을 사용해야 하고 동적 메모리를 할당해야 할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2015b에 개발됨R2023b: 백분율을 사용하여 정규화
Normalization
이름-값 인수를 'percentage'
로 지정하여 히스토그램 값을 백분율로 정규화할 수 있습니다.
참고 항목
histogram
| histcounts
| discretize
| histogram2
| morebins
| fewerbins
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)