机械与工程优化设计Word格式文档下载.docx

上传人:b****1 文档编号:15336783 上传时间:2022-10-29 格式:DOCX 页数:8 大小:24.52KB
下载 相关 举报
机械与工程优化设计Word格式文档下载.docx_第1页
第1页 / 共8页
机械与工程优化设计Word格式文档下载.docx_第2页
第2页 / 共8页
机械与工程优化设计Word格式文档下载.docx_第3页
第3页 / 共8页
机械与工程优化设计Word格式文档下载.docx_第4页
第4页 / 共8页
机械与工程优化设计Word格式文档下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

机械与工程优化设计Word格式文档下载.docx

《机械与工程优化设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《机械与工程优化设计Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。

机械与工程优化设计Word格式文档下载.docx

#include"

stdio.h"

floatfun(floatx)

{

return3*x*x-8*x+9;

}

voidmain()

floatx0,h,a,b,x1,x2,f1,f2;

printf("

输入初始点,按回车键结束\n"

);

scanf("

%f"

&

x0);

输入初始步长,按回车键结束\n"

h);

x1=x0;

x2=x1+h;

f1=fun(x1);

f2=fun(x2);

if(f2<

f1)

{

while(f2!

=f1)

{

h=2*h;

x2=x2+h;

f1=f2;

x1=x2-h;

else

{

a=x1;

b=x2;

break;

}

}

}

else

if(f2!

h=-h/4;

while(f2!

h=2*h;

x1=x1+h;

f2=f1;

if(f2>

x2=x1-h;

else

a=x1;

\n输出初始单峰区间\n"

a=%f,b=%f\n"

a,b);

2、试用黄金分割法求一元函数的最优解。

已知初始单峰区间为[1,7],取迭代精度。

x=2.998185;

f=0.000003。

doublefun(doublex)

returnx*x-6*x+9;

inti=0;

doublea,b,a1,a2,x,f,f1,f2,jingdu;

输入初始单峰区间的左端边界值,按回车键结束\n"

%lf"

a);

输入初始单峰区间的右端边界值,按回车键结束\n"

b);

输入迭代精度,按回车键结束\n"

jingdu);

\n迭代次数aba1a2f1f2b-a\n"

while((b-a)>

jingdu)

a1=a+0.382*(b-a);

f1=fun(a1);

a2=a+0.618*(b-a);

f2=fun(a2);

if(f1<

f2)

b=a2;

a2=a1;

a1=a+0.382*(b-a);

f1=fun(a1);

a=a1;

a1=a2;

a2=a+0.618*(b-a);

f2=fun(a2);

i=i+1;

printf("

\n%d%lf%lf%lf%lf%lf%lf%lf\n"

i,a,b,a1,a2,f1,f2,(b-a));

x=(b+a)/2;

f=fun(x);

\n输出函数的最优解\n"

x=%lf,f=%lf\n"

x,f);

3、现已知某汽车行驶速度x与每公里耗油量的函数关系为:

试用二次插值法确定当速度在0.2-1km/s时的最经济速度,取迭代精度为。

math.h"

return(x-3)*(x-3);

voidoptimal(doublex1,doublex2)

doublea,fa;

a=x1;

fa=x2;

doublea1,a2,a3,a4,c1,c2,f1,f2,f3,f4,a,A,fa,jingdu,l;

a1);

a3);

a2=(a1+a3)/2;

f1=fun(a1);

f3=fun(a3);

c1=(f3-f1)/(a3-a1);

c2=((f2-f1)*(a2-a1)-c1)/(a2-a3);

if(c2!

=0)

a4=0.5*(a1+a3-(c1/c2));

if((a4-a1)*(a3-a4)>

0)

f4=fun(a4);

if(f2<

=jingdu*(a3-a1))

A=1;

A=f2;

optimal(a2,f2);

a=%lf,fa=%lf\n"

a,fa);

while

(1);

while(fabs((f2-f4)/A)>

if((a4-a2)*(a4-a1)>

f4)

a1=a2;

a2=a4;

f2=f4;

l=(a3-a2);

a3=a4;

f3=f4;

l=(a4-a1);

a3=a2;

f3=f2;

l=(a2-a1);

a1=a4;

f1=f4;

l=(a3-a4);

a2=(a1+a3)/2;

f1=fun(a1);

c1=(f3-f1)/(a3-a1);

c2=((f2-f1)*(a2-a1)-c1)/(a2-a3);

if(c2!

a4=0.5*(a1+a3-(c1/c2));

if((a4-a1)*(a3-a4)>

f4=fun(a4);

if(f2<

=(jingdu*l))

A=1;

else

A=f2;

optimal(a2,f2);

else

optimal(a2,f2);

i=i+1;

if(f4<

optimal(a4,f4);

else

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

当前位置:首页 > 成人教育 > 自考

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

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