问一个关于求积分函数积分上限的问题!问题不难,希望高手完美解决!! ( 积分: 50 )

  • 主题发起人 liyouweiok
  • 开始时间
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
最近需要求一个积分下限为0,上限未知待求,积分函数已知,积分函数值也已知的问题,
如果积分函数上下限都已知的话,我们知道可以用梯形法计算出积分函数值,所以我给上限x赋初值0.01然后每次加0.01,循环用梯形法求解函数值,再与已知函数值相比较,思路就是这样的,不过实现起来cpu长期100%,无法求得积分上限x,请问大家有何更好的方法呢?
急求答案!!
 
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
最近需要求一个积分下限为0,上限未知待求,积分函数已知,积分函数值也已知的问题,
如果积分函数上下限都已知的话,我们知道可以用梯形法计算出积分函数值,所以我给上限x赋初值0.01然后每次加0.01,循环用梯形法求解函数值,再与已知函数值相比较,思路就是这样的,不过实现起来cpu长期100%,无法求得积分上限x,请问大家有何更好的方法呢?
急求答案!!
 
H

hao9005

Unregistered / Unconfirmed
GUEST, unregistred user!
站点名称: ::中华源码库::
站点说明: ::中华源码库-下载站
提供的源码包括源码,源码下载,模板,模板下载,asp源码,PHP源码,CGI源码,JSP源码,VB 源码,VC源码,C++源码,商业源码,服务器源码,书籍教程,站长学院,PB源码,VFP源码,汇编源码,编程,HTML,软件下载,网站建设,软件开发,域名,虚拟主机,网络工程,美工
网站地址: http://www.codek.cn
链接徽标: http://www.codek.cn/ads/logo_a.gif
 
D

dawnsong

Unregistered / Unconfirmed
GUEST, unregistred user!
长期用这么小的浮点计算,还放在一个循环里面,CPU应该就会达到100%,减少CPU占用,一个是用Sleep(),另外,加上Application.ProcessMessage()
具体优化,应该多考虑用整数运算,因为用计算机进行浮点运算,不仅仅没有整数运算快,还存在一个存储精度的问题,所以还会有误差,这也要考虑进去。
不知具体是何题目,所以暂提:
1、放到一个线程里面去做。
2、上限步进长度不是0.01么,乘以100,采用1来步进,同时修改你的相应的算法程序。
 
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
感谢dawnsong关注,再试试.!
 
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
添加sleep后cpu占用问题解决,但是该算法算出一个值需要很长时间(用矩形公式就积分函数值),请问大家还有没有收敛速度更快的算法?我用的是最幼稚的..:(,
 
J

jl08

Unregistered / Unconfirmed
GUEST, unregistred user!
令未知待求积分上限为x,另外用尝试法找到一个值S,使得在积分
区间[0, S]计算得到的积分函数值>已知积分函数值,那么未知待求积
分上限x必定位于区间[0, S]之内。
剩下的问题是:应用黄金分割法(0.618法)迭代求解x。
具体一点:
先将区间[0, S]一般化为搜索区域[a, b],在搜索区间[a, b]内计
算x=a+0.382*(b-a)处和x=a+0.618*(b-a)处的积分函数值,这样[a, b]
就被分为三段,比较这两点的积分函数值,就可以决定是删去最左段,
还是删去最右段,然后再在保留下来的区间作同样的处理,如此迭代下
去,可将搜索区间无限缩小。
 
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
jl08,谢谢你的答复,你思路很正确,不过感觉实现有点困难,现在编码中,希望高手大虾门有现成的高效率算法能共享之,题目不难,但很有实用性,大家一起来参与!
现就设被积函数为f(x)=x^(-5)*e^(-x) 积分下限为0,求上限!!
看谁先求得精确解!!算法速度要快!!
分不够可另加!!!
 
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
L

liyouweiok

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 

Similar threads

S
回复
0
查看
948
SUNSTONE的Delphi笔记
S
S
回复
0
查看
769
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部