坐标轮换法C语言相关程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

}

坐标轮换法C语言相关程序

#include<>

#include<>

float f(float x[])

{ float z;

z=4*(x[0]-5)*(x[0]-5)+(x[1]-6)*(x[1]-6);

return z;

}

,

float y,y1,y2,y3;

float x1[2], x2[2], x3[2],s[2],a[2],b[2]; int i,n=2; huangjin() /*黄金分割法确定每轮最优值*/

{

float e=,h0=,r=,h=h0; /*外推法确定区间*/

{y1=f(x1);

for(i=0;i

for(i=0;i

y2=f(x2);

if(y2>y1)

{for(i=0;i

for(i=0;i

}

for(i=0;i

while(y3

{for(i=0;i

for(i=0;i

}

for(i=0;i

}

for(i=0;i

y1=f(x1);

y2=f(x2);

*

if(y1>=y2)

{

for(i=0;i

for(i=0;i

for(i=0;i

else

{

for(i=0;i

for(i=0;i

y1=f(x1);

}

while(abs(y2-y1)>=e)

{

if(y1>=y2)

{

for(i=0;i

]

y2=f(x2);

}

else

{

for(i=0;i

for(i=0;i

y1=f(x1);

}

,

}

for(i=0;i

}

main( )

{

float x0[2],e0=,sum;

x0[0]=;

x0[1]=;

s[0]=0;

s[1]=1;

do

{

if(s[1]<1){s[0]=1;s[1]=0;}

else{s[0]=0;s[1]=1;}

for(i=0;i

huangjin();

:

sum=0;

for(i=0;i

sum+=(x1[i]-x0[i])*(x1[i]-x0[i]);

if(sqrt(sum)

for(i=0;i

printf("the best result:\n"); for(i=0;i

y=f(x1);printf("y=%f\n",y);

getch();

}

相关文档
最新文档