优化设计鲍威尔法程序c语言Word文件下载.docx

上传人:b****3 文档编号:16852604 上传时间:2022-11-26 格式:DOCX 页数:8 大小:51.84KB
下载 相关 举报
优化设计鲍威尔法程序c语言Word文件下载.docx_第1页
第1页 / 共8页
优化设计鲍威尔法程序c语言Word文件下载.docx_第2页
第2页 / 共8页
优化设计鲍威尔法程序c语言Word文件下载.docx_第3页
第3页 / 共8页
优化设计鲍威尔法程序c语言Word文件下载.docx_第4页
第4页 / 共8页
优化设计鲍威尔法程序c语言Word文件下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

优化设计鲍威尔法程序c语言Word文件下载.docx

《优化设计鲍威尔法程序c语言Word文件下载.docx》由会员分享,可在线阅读,更多相关《优化设计鲍威尔法程序c语言Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。

优化设计鲍威尔法程序c语言Word文件下载.docx

floatresult;

result=60-10*x[0]-4*x[1]+x[0]*x[0]+x[1]*x[1]-x[0]*x[1];

returnresult;

}

/*多维进退法子程序*/

f3=f(x3);

}/*已完成*/

for(i=0;

i<

n;

i++)/*输出初始搜索区间*/

{

if(x1[i]<

x3[i])

a[i]=x1[i];

b[i]=x3[i];

}

else

a[i]=x3[i];

b[i]=x1[i];

/*多维黄金分割法子程序*/

voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[])

inti;

floatx1[m],x2[m],f1,f2,sum;

i++)/*计算初始两试点*/

x1[i]=b[i]-(float)0.618*(b[i]-a[i]);

f1=f(x1);

i++)

x2[i]=a[i]+(float)0.618*(b[i]-a[i]);

f2=f(x2);

do

if(f1<

=f2)/*判断消去区间*/

{/*消去右*/

b[i]=x2[i];

x2[i]=x1[i];

f2=f1;

{/*消去左*/

x1[i]=x2[i];

f1=f2;

sum=0;

sum+=(b[i]-a[i])*(b[i]-a[i]);

}while(sqrt(sum)>

flag*0.1);

x[i]=(float)0.5*(b[i]+a[i]);

/*鲍威尔法子程序*/

voidmbwef(intn,floatx0[],floath,floatflag,floata[],floatb[],floatx[])

inti,j,k,r;

floatx1[m],x2[m],f0,f1,f2,fn[m],s[m][m],sum;

i++)

for(k=0;

k<

k++)

if(i==k)

s[i][k]=1;

s[i][k]=0;

k=1;

while

(1)

x1[i]=x0[i];

mjtf(n,x1,h,s[i],a,b);

mhjfgf(n,a,b,flag,x1);

fn[i]=f(x0)-f(x1);

x2[i]=2*x1[i]-x0[i];

for(i=1;

if(fn[0]<

fn[i])

fn[0]=fn[i];

r=i;

r=0;

f0=f(x0);

if(f2>

=f0||(f0-2*f1+f2)*(f0-f1-fn[0])*(f0-f1-fn[0])>

=0.5*fn[0]*(f0-f2)*(f0-f2))

{

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

=f2)

x0[i]=x1[i];

x0[i]=x2[i];

for(i=r;

for(j=0;

j<

j++)

s[i][j]=s[i+1][j];

s[n][i]=x1[i]-x0[i];

mjtf(n,x1,h,s[n],a,b);

if(sqrt(sum)<

=flag)

break;

k+=1;

x[i]=x1[i];

/*鲍威尔法主程序*/

voidmain()

inti,n;

floath,flag,x0[m],a[m],b[m],x[m];

printf("

\n<

鲍威尔法>

\n"

);

请输入维数:

scanf("

%d"

&

n);

请输入初始点:

"

\nx0[%d]="

i);

%f"

x0[i]);

\n请输入初始步长:

h);

\n请输入精度:

flag);

mbwef(n,x0,h,flag,a,b,x);

\n极小点坐标为:

x[%d]=%f\n"

i,x[i]);

\n极小值为:

\n%f\n"

f(x));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1