声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1650|回复: 0

[编程技巧] 窄带函数积分或者求极值的问题,多谢!

[复制链接]
发表于 2012-8-9 17:25 | 显示全部楼层 |阅读模式

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

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

x
      最近在编个算法,中间可以推出一个类概率密度分布函数(pdf)(没归一化,积分不一定为一,基本对称;重点是这个单峰函数很尖,定义域很窄,而且是定义域是R),我积分想求这个函数的均值,或者一维搜索求这个函数的极大值;面临的困难是:函数窄带,数值积分方法必须找到大概区间才能保证有效精确,一维搜索的初值也必须接近这个窄带区间,而区间未知。
      matlab功能很强大,如果可以直接写出这个函数表达式的话,用quadgk函数积分,完了归一化就可求出均值,solve函数解方程求出有效区域内的对称双根,平均值就是均值(极值);但是我的算法只能给出关系式,具体表达式未知(只能从结果里看);matlab内置的这些符号运算积分函数,方程求解函数,只识别具体的函数表达式,有没有什么命令可以在程序中调出具体表达式,然后自己放到这些函数里用。不可以的话我只能想到下面的方法了。
      估计个初值用弦截法带到推出的函数表达式,令表达式值很小,0.01(概率分布的端点)求出一个根,(我在matlab里把程序推出的函数表达式结果复制,再用solve求解的双根都有,但普通数值解只能找到单根),拿这个根当初值用一维搜索找到极大值,关于这个极大值对称下找到另一个端点,两个端点作为积分区间完成后面的积分,归一化,积分求均值工作。 这一套下来太复杂了,求大侠指导有没更好的方法。  能把表达式显示自动带入solve求解或者积分更好。 细节问题最头疼,多谢!:handshake

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-15 23:34 , Processed in 0.067037 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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