- 注册时间
- 2018-4-16
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 1797
- 在线时间
- 小时
|
楼主 |
发表于 2023-8-5 21:18:23
|
显示全部楼层
本帖最后由 笨笨 于 2023-8-5 21:25 编辑
怎么把 while 加到下面这个程序里来终止程序从而得到主贴函数界的最小值和其下各参数a,b,c,d,e的值。
知下面图片中的程序是要往复迭代的,while 语句的终止条件是啥?
- \[Beta]=0.558
- r=0.144
- \[Eta]=0.675
- f[x_]:=1-r^x
- g[x_]:=1-(1-\[Beta])/f[\[Beta]] f[(x-1)/(\[Beta]-1) \[Beta]]
- p0[x_]:=((1-Floor[x/\[Beta]])\[Beta] f[x]/f[\[Beta]]+Floor[x/\[Beta]]g[x])^\[Eta]
- p[n_]:=p0[n/100]
- H[x_]:=1/(3/2^17 x^10) (Hypergeometric2F1[-1/2,-1/2,1,x^2]-(1+(3x^2)/(10+Sqrt[4-3x^2])))
- W[x_,a_,b_,c_,d_,e_]:=(( 79/48+19.7356722060508967x) x^2)/(1+a x^b(1-x^c)^d)^e
- U[a_,b_,c_,d_,e_]:=1/2 \!\(
- \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(99\)]\(\((1 + W[p[k], a, b, c, d, e] - H[p[k]])\)^2\)\)
- u[a_,b_,c_,d_,e_]:=-\!\(
- \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(99\)]\(\((1 + W[p[k], a, b, c, d, e] - H[p[k]])\)
- \*FractionBox[\(e\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\), \(1 + a\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\)] W[p[k], a, b, c, d, e]\)\)
- v[a_,b_,c_,d_,e_]:=-\!\(
- \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(99\)]\(\((1 + W[p[k], a, b, c, d, e] - H[p[k]])\)\
- \*FractionBox[\(a\ e\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\ Log[p[k]]\), \(1 + a\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\)] W[p[k], a, b, c, d, e]\)\)
- w[a_,b_,c_,d_,e_]:=\!\(
- \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(99\)]\(\((1 + W[p[k], a, b, c, d, e] - H[p[k]])\)\
- \*FractionBox[\(a\ d\ e\
- \*SuperscriptBox[\((p[k])\), \(b + c\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(\(-1\) + d\)]\ Log[p[k]]\), \(1 + a\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\)] W[p[k], a, b, c, d, e]\)\)
- h[a_,b_,c_,d_,e_]:=-\!\(
- \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(99\)]\(\((1 + W[p[k], a, b, c, d, e] - H[p[k]])\)
- \*FractionBox[\(a\ e\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\ Log[1 -
- \*SuperscriptBox[\((p[p[k]])\), \(c\)]]\), \(1 + a\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]\)] W[p[k], a, b, c, d, e]\)\)
- i[a_,b_,c_,d_,e_]:=-\!\(
- \*UnderoverscriptBox[\(\[Sum]\), \(k = 1\), \(99\)]\(\((1 + W[p[k], a, b, c, d, e] - H[p[k]])\) W[p[k], a, b, c, d, e] Log[1 + a\
- \*SuperscriptBox[\((p[k])\), \(b\)]\
- \*SuperscriptBox[\((1 -
- \*SuperscriptBox[\((p[k])\), \(c\)])\), \(d\)]]\)\)
- UU[t_]:=U[a-t u[a,b,c,d,e],b-t v[a,b,c,d,e],c-t w[a,b,c,d,e],d-t h[a,b,c,d,e],e-t i[a,b,c,d,e]]
- Er[x_,a_,b_,c_,d_,e_]:=Hypergeometric2F1[-1/2,-1/2,1,x^2]-(1+(3x^2)/(10+Sqrt[4-3x^2]))-3/2^17 x^10 (1+W[x,a,b,c,d,e])
- a=4.6
- b=0.457
- c=2.657
- d=0.95
- e=1.2
- t=0.0001
- U[a,b,c,d,e]>UU[t]
- a=a-t u[a,b,c,d,e]
- b=b-t v[a,b,c,d,e]
- c=c-t w[a,b,c,d,e]
- d=d-t h[a,b,c,d,e]
- e=e-t i[a,b,c,d,e]
- Maximize[{Abs[Er[x,a,b,c,d,e]],0<x<1},x]
- U[a,b,c,d,e]
- UU[t]
复制代码 |
|