2016-12-10 4 views
0

私はMatlabを使ってガウス分布をプロットしようとしています。私のコードはこのようなものです。ガウス関数が範囲外の値を与えるのはなぜですか?

私のグラフは、それはガウス確率分布関数であるため、常に0の値を返す必要があります私の知識を1として4に上がっているy軸で正しい形状が、値を示している the image on link

のように見えます

a=1/(0.1*sqrt(2*3.14)) 
    y1=a*exp(-1*(((X1-Mu).^2)./(2*(Sigma^2)) )) 
    plot(X1,y1) 

私の実装が正しければ私は不安ですか?

+2

_thusは常に0と1の間の値を返す必要があります。これは正しくありません。その__area__は1でなければなりません –

+0

MATLABはDiscreteなので、 'y1'変数に' ts'を掛けてください。 tsはサンプリング時間である。例えばt = -1:0.001:1であり、「0.001」はサンプリング時間である。振幅は正規化されます。 – Tes3awy

答えて

0

はい確率分布関数ですが、毎回0と1の間の値を返す必要はありません。下の図からわかるように、ガウスグラフはの分散がで、の平均がです。

enter image description here

0

あなたの実装は正しいです。ガウシアンは確率分布とは異なる確率密度関数である。前者のみがゼロより大きいか等しくなければならないが、とりうるX1の全範囲にわたって積分すると、結果は1.

確率分布が玉葉の値が低いまたは1

に等しくなければならないもので等しくなければなりません。

脇見として。 Matlabは、ガウス確率密度関数と分布関数の両方を組み込み、それぞれnormpdfnormcdfとしています。

関連する問題