- 积分
- 7
- 注册时间
- 2002-9-10
- 仿真币
-
- 最后登录
- 1970-1-1
|
帖子来自:http://www.ilovematlab.cn/thread-59190-1-1.html
都是定积分,x取值范围在[3,4]。
我用Forcal求解的几组结果:
A=1.2999999999997554, B1=3.7504687499998699, B2=-0.52500000000009195, 极大值=16384.
A=6.09999999993079e-002, B1=2.7411718749997949, B2=-15.515000000000168, 极大值=16384.
A=4.8639999999992796, B1=4.334734374999794, B2=4.3389999999998823, 极大值=32768.
A=-3.3100000000000591, B1=-6.1008203124999332, B2=3., 极大值=12288.
发现:
1、获得的极大值原先以为是2^n,如1024、4096等。但发现12288也是一个极大值。有意思的是这些极大值都是整数,我求解的最大极大值是32768。
2、以最大值16384为例,有多组解,如上面就是两组。
3、不知有没有最大值。若能得到解析解分析一下更好。
望各位maple、mmtc、matlab、1stOpt等高手参与讨论一下。顺便验证一下我的结果对不对。
OpenFC下载:http://xoomer.virgilio.it/forcal/xiazai/forcal9/openfc32w.rar
代码:
-
- f(x,A,B1,B2)=exp(-A)*(x-3)^(-B1)*(5-x)^(-B2);
- ln43(x::A,B1,B2)=ln(x-3)*f(x,A,B1,B2);
- ln54(x::A,B1,B2)=ln(5-x)*f(x,A,B1,B2);
- logf(x:t:A,B1,B2)= t=f(x,A,B1,B2), t*lg(t);
- pp(_A,_B1,_B2::A,B1,B2,hln43,hln54,hlogf)= //函数定义
- {
- A=_A, B1=_B1, B2=_B2,
- XSLSF::fpqg(hlogf,3.00001,4.99999,1e-6)+1e10*XSLSF::fpqg(hln43,3.00001,4.99999,1e-6)^2+1e10*XSLSF::fpqg(hln54,3.00001,4.99999,1e-6)^2
- };
- main(:d,k,A,B1,B2:hln43,hln54,hlogf)=
- {
- hln43=HFor("ln43"), hln54=HFor("ln54"), hlogf=HFor("logf"),
- k=300,A=5,B1=5,B2=5, //初值
- d=fcopt::OptMin[HFor("pp"),5000,&k,1e-6: &A,-10,10, &B1,-10,10, &B2,-5,5],
- printff{"\r\nk={1,i}, A={2,r}, B1={3,r}, B2={4,r}, pp={5,r}\r\nlogf={6,r}, ln43={7,r}, ln54={8,r}\r\n",
- k,A, B1, B2, d,XSLSF::fpqg(hlogf,3.00001,4.99999,1e-6),XSLSF::fpqg(hln43,3.00001,4.99999,1e-6),XSLSF::fpqg(hln54,3.00001,4.99999,1e-6)}
- };
复制代码
结果:
k=166, A=4.8639999999992796, B1=4.334734374999794, B2=4.3389999999998823, pp=-32768.
logf=-32768., ln43=0., ln54=0. |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|