Main Content

mnpdf

多項確率分布密度関数

構文

Y = mnpdf(X,PROB)

説明

Y = mnpdf(X,PROB) は、確率 PROB をもつ多項分布の X の各行で評価される確率密度関数 (pdf) を返します。XPROBmk 列の行列または 1 行 k 列のベクトルで、k は、多項分布のビン数またはカテゴリ数です。PROB の各行は、合計が 1 でなければなりません。各観測値 (X の行) の標本サイズは、行の合計 sum(X,2) によって与えられます。Y は、m 行 1 列のベクトルです。mnpdf は、入力の対応する行を使用して Y の各行を計算するか、必要な場合は複製します。

すべて折りたたむ

標本サイズが n = 10 の多項分布の確率密度関数を計算します。結果 1 の確率は p = 1/2、結果 2 は p = 1/3、結果 3 は p = 1/6 です。

p = [1/2 1/3 1/6];
n = 10;
x1 = 0:n;
x2 = 0:n;
[X1,X2] = meshgrid(x1,x2);
X3 = n-(X1+X2);

分布の pdf を計算します。

Y = mnpdf([X1(:),X2(:),X3(:)],repmat(p,(n+1)^2,1));

3 次元図に確率密度関数をプロットします。

Y = reshape(Y,n+1,n+1);
bar3(Y)
h = gca;
h.XTickLabel = [0:n];
h.YTickLabel = [0:n];
xlabel('x_1')
ylabel('x_2')
zlabel('Probability Mass')
title('Trinomial Distribution')

Figure contains an axes object. The axes object with title Trinomial Distribution, xlabel x indexOf 1 baseline x_1, ylabel x indexOf 2 baseline x_2 contains 11 objects of type surface.

制約 x1 + x2 + x3 = n により決定されるためx3 は可視化により表示されません。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006b で導入

参考

トピック