2

我已经为其他分布(指数、正态等)尝试了类似的代码,并且在这些情况下代码有效。然而,对于对数正态分布情况,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)的条件期望值应该更高。这是一个衰减非常快的分布的数值过程的一般问题吗?这是一个已知问题吗?谢谢您的帮助

Ps 在上面我用作上限 110,因为当使用参数 mi=0 和 sigma=0.25 时,使用更高的值即使对于 cdf 也会给出奇怪的结果。这又与梯形积分逼近中的问题有关吗?

4

1 回答 1

0

Error in the code: logncdf(phihat) should be logncdf(phihat,mi,sigma).

That solves it.

于 2012-10-31T18:37:36.603 回答