声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2405|回复: 8

[编程技巧] 高斯积分问题求指导

[复制链接]
发表于 2012-10-16 15:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

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


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

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2012-10-17 09:31 | 显示全部楼层
用quadgk这个函数试试。
 楼主| 发表于 2012-10-17 20:32 | 显示全部楼层
matlab这些自带的函数都不能用,因为他们必须是代数式已知,或者是唯一变量的函数,我的程序里面需要积分的function多次调用,没法用自带的这些自适应积分
 楼主| 发表于 2012-10-18 09:58 | 显示全部楼层
matlab自带的一些自适应积分函数(quadgk等)貌似都用不了,因为我的function经过多次调用,且不是单值的
发表于 2012-10-18 09:59 | 显示全部楼层
是否知道该概率密度函数服从什么分布?个人认为还是从概率密度函数本身的特征出发比较可行
单纯数值处理会比较困难
 楼主| 发表于 2012-10-18 10:40 | 显示全部楼层
那个概率密度函数式用一种贝叶斯插值方法插值出来的,是一个函数表达式,对称分布。 几个fucntion推出那个函数表达式,但是是很多变量的函数,而matlab自带的积分函数不能用,谢谢!
发表于 2012-10-18 11:33 | 显示全部楼层

是否可以考虑分段数值积分?提高函数值变化剧烈区间的分别率
 楼主| 发表于 2012-10-18 13:51 | 显示全部楼层
我用过自适应变步长积分,精度提高,但是算的太慢了,难道只有这样解决吗?我的概率密度函数越往后越尖,有效积分区域就一点,没必要那样啊,其他地方函数值就基本等于0了,关键是找到积分区域,5点的高斯公式精度完全够了
发表于 2012-10-18 15:09 | 显示全部楼层
mayuanzhuo 发表于 2012-10-18 13:51
我用过自适应变步长积分,精度提高,但是算的太慢了,难道只有这样解决吗?我的概率密度函数越往后越尖,有 ...

所以说主要看你的积分函数的特征和精度要求了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-26 09:50 , Processed in 0.064070 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表