Matlab std関数_MATLAB確率と統計(2)



Matlab Std Function _matlab Probability



7.最大および最小関数

関数maxおよびminは、ベクトルまたは行列の最大要素または最小要素を見つけるために使用され、それらの呼び出し形式は基本的に同じです。ここでは、例としてmaxを取り上げます。



(1)C = max(A):入力パラメーターAは、ベクトルまたは行列にすることができます。ベクトルの場合は、ベクトル内のすべての要素の最大値を返します。行列の場合は、行ベクトルを返します。ベクトルの各要素は、行列の各列要素の最大値です。

(2)C = max(A、B):AとBの対応する要素のサイズを比較します。AとBは行列またはベクトルにすることができます。サイズが同じ場合は、AとBの大きな要素で構成される行列またはベクトルを返します。さらに、AとBのいずれかをスカラーにすることができ、スカラーと比較して得られた行列またはベクトルが返されます。



(3)C = max(A、[]、dim):Aのdim次元の最大値を返します。

(4)[C、I] = max(...):ベクトルまたは行列の最大値とその添え字値を返します。

【例4-22】関数maxとminの使用例。



>> A = magic(4)

A =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

>> max(A)最大値を求めます

年=

16 14 15 13

>> min(A)最小値を%で求めます

年=

4 2 3 1

>> B = reshape(1:16,4,4)

B =

1 5 9 13

2 6 10 14

3 7 11 15

4 8 12 16

>> max(A、B)2つの行列の比較

年=

16 5 9 13

5 11 10 14

9 7 11 15

4 14 15 16

>> [C、I] = min(A、[]、2)%最小値を見つけて、添え字を返します

C =

5

6

1

I =

1

3

4

8.平均関数

平均関数は、ベクトルまたは行列の平均値を見つけるために使用されます。その呼び出し構文は次のとおりです。

(1)M = mean(A):入力パラメータAがベクトルの場合、ベクトルのすべての要素の平均値を返します。行列の場合は、各列要素の平均値を返します。

(2)M = mean(A、dim):行列Aのdim次元の各要素の平均値を返します。

【例4-23】平均関数の使用例。

>> A = reshape(1:25,5,5)

A =

1 6 11 16 21

2 7 12 17 22

3 8 13 18 23

4 9 14 19 24

5 10 15 20 25

>> mean(A)%列方向の平均を計算します

年=

3 3 8 13 18 23 >> mean(A、2)%行の方向の平均

年=

十一

12

13

14

15

9.中央値関数

中央値関数は、ベクトルまたは行列の中央値を見つけるために使用されます。これは、統計ツールボックスの関数です。その呼び出し構文は、平均関数に似ています。以下は、例の簡単な説明です。

【例4-24】中央値関数の使用例。

>> A = [1 2 4 4 3 4 6 6 5 6 8 8 5 6 8 8]

A =

1 2 4 4

3 4 6 6

5 6 8 8

5 6 8 8

>>中央値(A)列方向の中央値

年=

4 5 7 7

>>中央値(A、2)行方向の中央値の%

年=

3

5

7

7

10.std関数

std関数は、ベクトルまたは行列の要素の標準偏差を見つけるために使用されます。一般的な本では、標準偏差(標準偏差)には次の2つの異なる計算方法(標準偏差とサンプル標準偏差)があります。

その中で:

n サンプル内の要素の数です。これら2つの方法の違いは、前の除数が n -1、もう一方は n

std関数呼び出しの構文は次のとおりです。

(1)s = std(x):xがベクトルの場合、式(1)に従ってベクトル要素のサンプル標準偏差を計算します。xが行列の場合、xの各列の標準偏差を返します。

(2)s = std(x、flag):flag = 0の場合、s = std(x)と同等です。flag= 1の場合、式(2)に従ってxの標準偏差を計算します。

(3)s = std(x、flag、dim):dim次元の各要素の標準偏差を返します。

【例4-25】std関数の使用例。

>> A = magic(5)

A =

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

>> s1 = std(A、0,1)

s1 =

7.2457 8.0623 9.4868 8.0623 7.2457

>> s2 = std(A、1,1)

s2 =

6.4807 7.2111 8.4853 7.2111 6.4807

>> s3 = std(A、0,2)

s3 =

8.8034

7.2457

8.0623

7.2457

8.8034

11.var関数

var関数は、ベクトルまたは行列の要素の分散を見つけるために使用されます。分散は標準偏差の2乗です。 var関数の呼び出し構文は次のとおりです。

(1)V = var(X):Xがベクトルの場合、Xのサンプル分散を計算します。Xが行列の場合、列ごとにXの分散を計算します。

(2)V = var(X、1):上記の式(2)のsの2乗に従ってXの分散を計算します。

(3)V = var(X、w):重みベクトルwを使用して分散を計算します。

(4)V = var(X、w、dim):行列Xの薄暗い次元の分散を計算します。

【例4-26】var関数の使用例。

>> A = magic(5)

A =

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

>> v1 = var(A)サンプル分散

v1 =

52.5000 65.0000 90.0000 65.0000 52.5000

>> v2 = var(A、0,1)v1と同じ結果

v2 =

52.5000 65.0000 90.0000 65.0000 52.5000

>> v3 = var(A、1,1)%分散を計算する

v3 =

42 52 72 52 42

12.機能

cov関数は、共分散行列を見つけるために使用されます。共分散を計算するための数式は次のとおりです。cov(x1、 バツ)= E [(x1-u1) (バツ-u)]。ここで、Eは数学的期待値、u1=例1、u=例。 cov関数の呼び出し構文は次のとおりです。

(1)C = cov(x):xがベクトルの場合、ベクトル要素の分散が返されます。xが行列の場合、スカラーが返され、共分散行列が返されます。

(2)C = cov(x、y):列ベクトルxとyの共分散を計算し、xとyが同じ数の要素を持つ必要があります。 xとyが行列の場合、MATLABはそれらを列ベクトルに変換します。これはcov([A(:)、B(:)])と同等です。

【例4-27】cov関数の使用例。

>> A = [-1 1 2 -2 3 1 4 0 3]

A =

-1 1 2

-2 3 1

4 0 3

>> C = cov(A)共分散行列

C =

10.3333 -4.1667 3.0000

-4.1667 2.3333 -1.5000

3.0000 -1.5000 1.0000

>> v = diag(cov(A)) '%行列Aの各列の分散

v =

10.3333 2.3333 1.0000

>> V = var(A)%行列Aの各列の分散

V =

10.3333 2.3333 1.0000

比較すると、共分散行列の主対角線上の要素が各列の分散であることがわかります。

13.corrcoef関数

corrcoef関数は、行列の相関係数を計算するために使用されます。相関係数は記号で表され、無次元量です。計算式は次のとおりです。関数corrcoefの呼び出し構文は次のとおりです。

(1)corrcoef(x):xが行列の場合、返されるのは行列xと同じサイズの相関係数行列です。

(2)corrcoef(x、y):列ベクトルxとyの相関係数を計算します。ただし、xとyの要素数は同じである必要があります。 xとyが行列の場合、corrcoef関数はそれらを列ベクトルに変換します。これはcorrcoef([x(:)、y(:)])と同等です。

【例4-28】ランダムにデータセットを生成し、4列目と他の列との相関を調べます。

>> x = randn(30,4)%無関係なデータ

>> x(:、4)= sum(x、2)%相関を導入

>> [r、p] = corrcoef(x)%サンプルの相関とp値を計算します

r =

1.0000 0.3006 -0.1030 0.6403

0.3006 1.0000 -0.1786 0.6412

-0.1030 -0.1786 1.0000 0.2719

0.6403 0.6412 0.2719 1.0000

p =

1.0000 0.1065 0.5881 0.0001

0.1065 1.0000 0.3449 0.0001

0.5881 0.3449 1.0000 0.1461

0.0001 0.0001 0.1461 1.0000

>> [i、j] = find(p<0.05)% Find significant correlation

>> [i、j]添え字インデックスを表示

年=

4 1

4 2

1 4

2 4

4.3.2確率関数、分布関数、逆分布関数、および乱数

以前は、イベントの確率と信頼区間を知るために、ルックアップテーブルからほとんど切り離せませんでした。確率密度関数、分布関数、およびグラフの信頼区間の描画に関しては、より多くの労力が必要です。現在、MATLABの助けを借りて、上記の問題を簡潔かつ効率的に解決できるだけでなく、複雑な問題もより自由に調査することができます。

表4-1に、7つの一般的なディストリビューションを持つ4つのコマンドグループを示します。これらの4つのコマンドは、確率密度関数、累積分布関数、逆累積分布関数、乱数ジェネレーターです。

表4-17つの一般的な分布の相関関数

ディストリビューション名

確率密度関数

累積分布関数

逆累積分布関数

乱数ジェネレーター

二項分布

binopdf

binocdf

binoinv

binornd

魚の分布

poisspdf

poisscdf

poissinv

poissrnd

正規分布

normpdf

normcdf

norminv

normrnd

続く

ディストリビューション名

確率密度関数

累積分布関数

逆累積分布関数

乱数ジェネレーター

均等に分散

unifpdf

unifcdf

unifinv

unifrnd

配布

chi2pdf

chi2cdf

chi2inv

chi2rnd

F 配布

fpdf

fcdf

finv

frnd

t 配布

tpdf

tcdf

tinv

trnd

スペースが限られているため、このセクションでは、ポアソン分布、正規分布、および分布の例のみを示します。他のディストリビューション対応関数の使用も同様であり、ここでは繰り返さないことにします。

【例4-29】ポアソン分布と正規分布の関係。

ポアソン分布が> 10の場合、ポアソン分布は正規分布に非常に近くなります。ポアソン分布と対応する正規分布の確率密度関数は、次のコマンドを使用して計算できます。

>> Lambda = 20x = 0:50yd_p = poisspdf(x、Lambda)%ポアソン分布

>> yd_n = normpdf(x、Lambda、sqrt(Lambda))%正規分布

この例では、グラフを描いて2つの分布を比較し、その結果を図4-1に示します。

>> plot(x、yd_n、 'b-'、x、yd_p、 'r +')Draw%

>> text(30,0.07、 ' fontsize {12} { mu} = { lambda} = 20')%画像にマークを付ける

【例4-30】分布の逆累積分布関数の適用例。

>> v = 4xi = 0.9x_xi = chi2inv(xi、v)%文字レベルを90%に設定します

>> x = 0:0.1:15yd_c = chi2pdf(x、v)%(4)の確率密度関数を計算します

%グラフを描き、信頼区間を記入します

>> plot(x、yd_c、 'b')、ホールド

>> xxf = 0:0.1:x_xiyyf = chi2pdf(xxf、v)%は着色のために計算されます

>> fill([xxf、x_xi]、[yyf、0]、 'g')ポイント(x_xi、0)を追加して、塗りつぶされた領域を閉じます

%メモを追加

>> text(x_xi * 1.01,0.01、num2str(x_xi))

>> text(10,0.16、[' fontsize {16} x〜 { chi} ^ 2' '(4)'])

>> text(1.5,0.08、 ' fontname {} fontsize {22}信頼水準0.9')

>>ちょっと待って

結果を図4-2に示します。

775ddaebe353130d04b8bc73de1caa17.png

図4-1 = 20ポアソン分布と= 20正規分布の比較

e1dc67364ab3f9dfc1ab17906a4357d8.png

図4-2分布レベルが90%の信頼区間

0b82a440a1b0ae8011d5d9bcbe5486b9.png