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

时间:2026-01-17

{

x[0]=x[0]-h*d[0]; x[1]=x[1]-h*d[1]; h=0.7*h; if(h<c) break;

x[0]=x[0]+h*d[0]; x[1]=x[1]+h*d[1];

if(g1(x[0],x[1])>0||g2(x[0],x[1])>0) continue; fx=f(x[0],x[1]); } while(fx>=fl);

if(fabs((f0-fx)/f0)>=c) {

x0[0]=x[0]; x0[1]=x[1]; fl=fx; f0=fx; } else break; } printf("输出最优解为\nx1*=%f,x2*=%f, y*=%f\n",x[0],x[1],fx); }

运行过程及结果: 输出最优解为

x1*=0.995421,x2*=1.004521,y*=1.009200

6.四杆机构优化设计

源程序:

#include<math.h> #include<stdio.h> #include<stdlib.h> #define Pai 3.1415926 int g(float l1,float l2) {

if((-l1<=0) &&(-l2<=0) &&(6-l1-l2<=0) &&(1-l2-4<=0) &&(l2-l1-4<=0)

&&(l1*l1+l2*l2-1.414*l1*l2-16<=0)

&&(36-l1*l1-l2*l2-1.414*l1*l2<=0)) return (1); else return (0); }

float fun(float x0[2]) { floatf,

a[31],b[31],r[31],p[31],q[31],w[31],x1[2]; int i; p[0]=acos(((1+x0[0])*(1+x0[0])-x0[1]*x0[1]+25)/(10+10*x0[0])); q[0]=acos(((1+x0[0])*(1+x0[0])-x0[1]*x0[1]-25)/(10*x0[1])); f=0; for(i=1;i<=30;i++) { p[i]=p[0]+(Pai/60)*i; r[i]=sqrt(26-10*cos(p[i])); a[i]=acos((r[i]*r[i]+x0[1]*x0[1]-x0[0]*x0[0])/(2*r[i]*x0[1])); b[i]=acos((r[i]*r[i]+24)/(10*r[i])); q[i]=Pai-a[i]-b[i]; w[i]=q[0]+(2*(p[i]-p[0])*(p[i]-p[0]))/(3*Pai); f=f+(Pai/60)*(q[i]-w[i])*(q[i]-w[i])*(p[i]-p[i-1]); } return f; }

void main() { float

a,q,f,fl,f0,l[2],z[2],d0[100],d1[100],x[2],xi[2],fx,m0,m1,e; int i,j,n,k;

printf("输入精度");

scanf("%f",&e); do{z[0]=0+5*(rand()/32767.00); z[1]=0+5*(rand()/32767.00); } while(g(z[0],z[1])==0); for(i=0;i<=99;i++) {

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

精彩图片

热门精选

大家正在看

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

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

支付方式:

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

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