机械优化设计黄金分割法 外推法(8)

时间:2026-01-17

d0[i]=-1+2*(rand()/32767.00); } for(j=0;j<=99;j++) { d1[j]=-1+2*(rand()/32767.00); } f0=fun(z); fl=fun(z); ss: a=0.01; for(i=0,j=0;i<=99&&j<=99;i++,j++) { n=1/sqrt((d0[i])*(d0[i])+d1[j]*d1[j]); d0[i]=n*d0[i]; d1[j]=n*d1[j]; x[0]=z[0]+a*d0[i]; x[1]=z[1]+a*d1[j]; if(g(x[0],x[1])==1) { f=fun(x); if(f<fl) { fl=f; m0=d0[i]; m1=d1[j]; l[0]=x[0]; l[1]=x[1]; } } }

x[0]=l[0]; x[1]=l[1]; do

{a=1.3*a;

x[0]=x[0]+a*m0; x[1]=x[1]+a*m1; if(g(z[0],z[1])==0) break; f=fun(x); if(f<fl) fl=f;

else break;} while(g(z[0],z[1])==1); do{ x[0]=x[0]-a*m0; x[1]=x[1]-a*m1; a=0.7*a;

if(a<0.00001)break;

x[0]=x[0]+a*m0; x[1]=x[1]+a*m1; if(g(z[0],z[1])==1) f=fun(x); }

while(f>=fl);

if(fabs((f0-f)/f0)<e)

{xi[0]=x[0];xi[1]=x[1]; fx=f;

printf("最优解为\nx1*=%f\nx2*=%f\n fx=%f\n",xi[0],xi[1],fx); }

else {f0=f; fl=f;

z[0]=x[0]; z[1]=x[1]; goto ss; } }

运行过程及结果: 输入精度0.001 最优解为 x1*=4.161386 x2*=2.311257 fx=0.000021

机械优化设计黄金分割法 外推法(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219