如何用matlab求常態分配的機率密度函數
想要請問一下關於matlab程式方面的問題,
想求A(t)的機率,為依常態分配的機率密度函數,且隨時間t變動,
A(t)=(1/sqrt(2*pi)*sigma*sqrt(t))*∫exp(-0.5*((y-mu*t)/sigma*sqrt(t))^2)dy
上下限為:負無窮大到一個值b(t)
mu=0.04
sigma=0.1
t=1
b(1)= -0.77253676
t=6
b(6)= -0.24980842
想要知道A(1)和A(6)的機率為何?
直接把程式寫入matlab也算不出來?
或者是我有地方打錯
希望可以幫忙解答
謝謝各位
1 則回答
最佳解答
若公式無誤的話, 我寫了以下的程式碼, 您參考看看
---------------------------------------------------------------以下為公式
function A = modelc(t, y)sigma = 0.1;
mu = 0.04;p1 = 1/sqrt(2*pi)*sigma*sqrt(t);
p2 = exp(-0.5*((y-mu*t)/sigma*sqrt(t)).^2);
A = p1*p2;
---------------------------------------------------------------以下為主程式
clear all
clc
t1 = 1;
b1 = -0.77253676;
A1 = quadgk(@(y) modelc(t1,y),-inf,b1) t2 = 6;
b2 = -0.24980842;
A2 = quadgk(@(y) modelc(t2,y),-inf,b2)
--------------------------------------------------------------輸出結果
A1 = 2.2300e-018
A2 = 1.8242e-035
A1及A2都非常接近0, 我想若是有誤應該在公式分母分子的表示
2010-12-23 05:39:27 補充:
嗯嗯
[信箱已隱去]
我再試試看