mayuanzhuo 发表于 2012-10-16 15:02

高斯积分问题求指导

好久没来了,最近发现以前做的积分有问题,一直没想通怎么解决,求指导。
两个积分问题。第一个   我的积分函数是个概率密度函数,基本对称,但是峰值比较尖。 我用的是5点高斯雷让德积分,积分区间我用solve函数近似求出概率密度函数值很小的头尾两点当做边界,然后线性变换到[-1,1]区间上积分。   最早我用的方法是[-无穷,+无穷]上的五点高斯公式对概率密度函数求积分的,但是不准,就改成上面的方法的了。

第二个问题,上的积分,最初我用五点高斯雷让德积分求解,但是不准。后来做了下变换x=exp(-t)。把变成了,再线性变换成[-1,1]用五点高斯积分做。   


现在发现这两个积分都不太准,没想到更好的积分方法。如果有什么更好的方法,求教下,多谢!

rocwoods 发表于 2012-10-17 09:31

用quadgk这个函数试试。

mayuanzhuo 发表于 2012-10-17 20:32

matlab这些自带的函数都不能用,因为他们必须是代数式已知,或者是唯一变量的函数,我的程序里面需要积分的function多次调用,没法用自带的这些自适应积分

mayuanzhuo 发表于 2012-10-18 09:58

matlab自带的一些自适应积分函数(quadgk等)貌似都用不了,因为我的function经过多次调用,且不是单值的

happy 发表于 2012-10-18 09:59

是否知道该概率密度函数服从什么分布?个人认为还是从概率密度函数本身的特征出发比较可行
单纯数值处理会比较困难

mayuanzhuo 发表于 2012-10-18 10:40

那个概率密度函数式用一种贝叶斯插值方法插值出来的,是一个函数表达式,对称分布。 几个fucntion推出那个函数表达式,但是是很多变量的函数,而matlab自带的积分函数不能用,谢谢!

happy 发表于 2012-10-18 11:33

mayuanzhuo 发表于 2012-10-18 10:40 static/image/common/back.gif
那个概率密度函数式用一种贝叶斯插值方法插值出来的,是一个函数表达式,对称分布。 几个fucntion推出那个函 ...

是否可以考虑分段数值积分?提高函数值变化剧烈区间的分别率

mayuanzhuo 发表于 2012-10-18 13:51

我用过自适应变步长积分,精度提高,但是算的太慢了,难道只有这样解决吗?我的概率密度函数越往后越尖,有效积分区域就一点,没必要那样啊,其他地方函数值就基本等于0了,关键是找到积分区域,5点的高斯公式精度完全够了

happy 发表于 2012-10-18 15:09

mayuanzhuo 发表于 2012-10-18 13:51 static/image/common/back.gif
我用过自适应变步长积分,精度提高,但是算的太慢了,难道只有这样解决吗?我的概率密度函数越往后越尖,有 ...

所以说主要看你的积分函数的特征和精度要求了
页: [1]
查看完整版本: 高斯积分问题求指导