|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我想加入一个i,使每次return gold()都能+1,但我打印出来的 永远是给i赋值的那个数,我应该怎么做?
第0次区间缩短 a=0 b=1.236 Alpha1=0.764 Alpha2=1.236 F(Alpha1)=3.917943744 F(Alpha2)=4.416232256
第0次区间缩短 a=0.472152 b=1.236 Alpha1=0.472152 Alpha2=0.763848 F(Alpha1)=4.160951670222776 F(Alpha2)=3.917981631574856
第0次区间缩短 a=0.472152 b=0.944210064 Alpha1=0.7639419359999999 Alpha2=0.944210064 F(Alpha1)=3.9179582045534853 F(Alpha2)=3.9533739677547173
第0次区间缩短 a=0.652478180448 b=0.944210064 Alpha1=0.652478180448 Alpha2=0.763883883552 F(Alpha1)=3.972821723729033 F(Alpha2)=3.9179726776788426
第0次区间缩短 a=0.7639197599648639 b=0.944210064 Alpha1=0.7639197599648639 Alpha2=0.832768484483136 F(Alpha1)=3.917963731464067 F(Alpha2)=3.9119907637548623
第0次区间缩短 a=0.7639197599648639 b=0.875339167858578 Alpha1=0.8327906561062859 Alpha2=0.875339167858578 F(Alpha1)=3.911992550021397 F(Alpha2)=3.9200228674634765
0
- def gold(a,b):
- message=''
- rfa1=b-0.618*(b-a)
- rfa2=a+0.618*(b-a)
- frfa1=rfa1*rfa1*rfa1-2*rfa1+5
- frfa2=rfa2*rfa2*rfa2-2*rfa2+5
- if frfa1 < frfa2:
- a=a
- b=rfa2
- if frfa1 > frfa2:
- a=rfa1
- b=b
- if b-a<0.1:
- return 0
- else:
- i=0
- i+=1
- message='第'+str(i)+'次区间缩短'+' a='+str(a)+' b='+str(b)+' Alpha1='+str(rfa1)+' Alpha2='+str(rfa2)+' F(Alpha1)='+str(frfa1)+' F(Alpha2)='+str(frfa2)
- print(message)
- return gold(a,b)
复制代码 |
|