ヒストグラムを計算
[cf, ind] = histc(n, data [,normalization]) [cf, ind] = histc(x, data [,normalization])
正の整数 (クラスの数)
クラスを定義する漸増ベクトル
(xには最低2つの要素があります)
ベクトル (解析対象のデータ)
n または x
により定義されるクラスに含まれる
dataの値の数を示すベクトル
dataと同じ大きさのベクトルまたは行列で,
データdataの各要素が
nまたはxにより定義された
クラスに重複して属していることを示します
スカラー論理値.
normalization=%f (デフォルト):
cfは,各クラスにおける点の総数を表します.
normalization=%t:
cfは,各クラスにおける点の数を点の総数に関して相対的に表します.
この関数は,クラスxによりdataベクトルの
ヒストグラムを計算します.
xではなくクラスの数 nが指定された場合,等間隔で
x(1) = min(data) < x(2) = x(1) + dx < ... < x(n+1) = max(data)
(ただし, dx = (x(n+1)-x(1))/n)となるクラスが選択されます.
クラスはC1 = [x(1), x(2)] および Ci = ( x(i), x(i+1)]
(i >= 2)で定義されます.
Nmaxはdataの総数 (Nmax = length(data)),
NiはCiに含まれるdata要素の数,
Ciにおけるxのヒストグラムの値は,
"normalized"が選択された場合は
Ni/(Nmax (x(i+1)-x(i))) となり,
そうでない場合は単にNiとなります.
正規化が行われた際,ヒストグラムは以下を確認します:

x(1)<=min(data) および max(data) <= x(n+1) の場合
// ガウス乱数標本 d = rand(1, 10000, 'normal'); [cf, ind] = histc(20, d, normalization=%f) // グラフィック表現を示すためにhistplotを使用 clf(); histplot(20, d, normalization=%f); [cf, ind] = histc(20, d) clf(); histplot(20, d); | ![]() | ![]() |

d = grand(1000,1,"bin", 6, 0.5); c = linspace(-0.5,6.5,8); clf() subplot(2,1,1) [cf, ind] = histc(c, d) histplot(c, d, style=2); xtitle("Normalized histogram") subplot(2,1,2) [cf, ind] = histc(c, d, normalization=%f) histplot(c, d, normalization=%f, style=5); xtitle("Non normalized histogram") | ![]() | ![]() |

lambda = 2; X = grand(100000,1,"exp", 1/lambda); Xmax = max(X); [cf, ind] = histc(40, X) clf() histplot(40, X, style=2); x = linspace(0, max(Xmax), 100)'; plot2d(x, lambda*exp(-lambda*x), strf="000", style=5) legend(["exponential random sample histogram" "exact density curve"]); | ![]() | ![]() |

n = 10; data = rand(1, 1000, "normal"); [cf, ind] = histc(n, data) clf(); histplot(n, data, style=12, polygon=%t); legend(["normalized histogram" "frequency polygon chart"]); | ![]() | ![]() |

| バージョン | 記述 |
| 5.5.0 | Introduction |