首页 机械优化设计黄金分割法

机械优化设计黄金分割法

举报
开通vip

机械优化设计黄金分割法机械优化设计黄金分割法 已知:F(x)=x4-4x3-6x2-16x+4,求极小值,极小值点,区间,迭代次数, 用进退法确定区间,用黄金分割法求极值。 #include #include #define e 0.001 #define tt 0.01 float f(double x) { float y=pow(x,4)-4*pow(x,3)-6*pow(x,2)-16*x+4; return(y); } finding(float *p1,float*p2) { float x1=0...

机械优化设计黄金分割法
机械优化 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 黄金分割法 已知:F(x)=x4-4x3-6x2-16x+4,求极小值,极小值点,区间,迭代次数, 用进退法确定区间,用黄金分割法求极值。 #include #include #define e 0.001 #define tt 0.01 float f(double x) { float y=pow(x,4)-4*pow(x,3)-6*pow(x,2)-16*x+4; return(y); } finding(float *p1,float*p2) { float x1=0,x2,x3,t,f1,f2,f3,h=tt; int n=0; x2=x1+h;f1=f(x1);f2=f(x2); if(f2>f1) {h=-h;t=x2;x2=x1;x1=t;} do { x3=x2+h;h=2*h;f3=f(x3);n=n+1;} while(f3x3) {t=x1;x1=x3;x3=t;} *p1=x1;*p2=x3; return(n); } gold(float *p) { float a,b,x1,x2,f1,f2; int n=0; finding(&a,&b); do {x1=a+0.382*(b-a); x2=a+0.618*(b-a);f1=f(x1);f2=f(x2);n=n+1; if(f1>f2) a=x1; else b=x2;} while((b-a)>e); *p=(x1+x2)/2;return(n); } main() { float a,b,x,min;int n1,n2; n1=finding(&a,&b); n2=gold(&x); min=f(x); printf("\n The area is %f to %f.",a,b); printf("\n The nunmber 1 is %d.",n1); printf("\n The min is %f and the result is %f.",x,min); printf("\n The nunmber 2 is %d.",n2) 二插法 已知:F(x1,x2)=4*x1-x2的平方-12;求极小值,极小值点,迭代次数, 用复合形法求极值。 约束条件:x2>=0; x1>=0; 25-x1的平方-x2的平方>=0; #include #include #define EP 0.0001 #define E 0.01 #define fori for(i=0;i<=1;i++) int i; float f(float *p) { float y; y=4*p[0]-pow(p[1],2)-12; return(y); } int cons(float *q) { int n; if((pow(q[0],2)+pow(q[1],2)-25<=0)&&(q[0]>=0)&&(q[1]>=0)) n=1; else n=0; return(n); } void paixu(float *p1,float *p2,float *p3) { float f1,f2,f3; float L[2],M[2],H[2]; f1=f(p1); f2=f(p2); f3=f(p3); fori { H[i]=p1[i];M[i]=p2[i];L[i]=p3[i];} if(f1>f2) { if(f2f3) fori { M[i]=p3[i];L[i]=p2[i];} else fori { H[i]=p3[i];M[i]=p1[i];L[i]=p2[i];} } else if(f2f3) fori { H[i]=p2[i];M[i]=p1[i];L[i]=p3[i];} else fori { H[i]=p2[i];M[i]=p3[i];L[i]=p1[i];} fori { p1[i]=H[i];p2[i]=M[i];p3[i]=L[i];} } float r() { float rr; do rr=rand(); while(rr<=0); rr=rr/32767; return(rr); } main() { float x1[2]={2,1},x2[2]={4,1},x3[2]={3,3}; float XC[2],XR[2],A[2],B[2]; float H=1.3,FH,FR,FC,FL,cha,min,S; int tf,tf1,tf2; do { do { paixu(x1,x2,x3); /* fori printf("\n X1%d is %f,X2%d is %f,X3%d is %f.",i,x1[i],i,x2[i],i,x3[i]); */ fori XC[i]=(x2[i]+x3[i])/2; /* fori printf("\n XC%d is %f.",i,XC[i]); */ tf1=cons(XC); if(tf1==0) { FC=f(XC); FL=f(x3); if(FLE); min=f(x3); printf("\n The Min is %f.",min); fori printf("\n The X%d is %f.",i,x3[i]);
本文档为【机械优化设计黄金分割法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_281650
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:7
分类:金融/投资/证券
上传时间:2017-09-01
浏览量:40