2012-10-24 40 views
2

我已經嘗試過類似的代碼用於其他分佈(指數,正常等),並在這些情況下代碼工作。 但是對於對數正態分佈的情況,matlab計算數值積分的方式似乎存在問題。matlab條件期望似乎不適用於對數正態

代碼:

function y=condint(sigma,mi,phihat) 
y=quad(@phipr,phihat,110,0.000000000000001) 

    function y=phipr(x) 
     y=1./(1-logncdf(phihat)).*1/(2*pi*sigma^2).^(1/2).*exp(-((log(x)-mi).^2)./(2*sigma^2)); 
    end 
end 

它未能有明顯的屬性,更高的截止(phihat)條件預期值應該更高。這是一個非常快速衰減的分佈數值程序的一般問題嗎?這是一個已知的問題嗎? 謝謝你的幫助

P.在上面我用作上限110,因爲當使用參數mi = 0和sigma = 0.25時,使用更高的值會給cdf帶來更奇怪的結果。這又與梯形積分近似中的問題有關嗎?

+0

對於低值sigma,問題變得更糟(更明顯)。 – MAec

回答

0

錯誤代碼: logncdf(phihat)應該是logncdf(phihat,mi,sigma)。

解決了這個問題。

相關問題