资源描述:
《机械优化设计外推法黄金分割法二次插值法随机方向法坐标轮换法四杆机构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《机械优化设计》上机源程序与结果—《机械优化设计》上机源程序与结果4第8页共8页《机械优化设计》上机源程序与结果—程序一:外推法源程序:#include#include#defineB0.001doublefun(doublex){doublemin;min=x*x-10*x+36;returnmin;}voidmain(){doubleh0=B,y1,y2,y3,x1,x2,x3,h;x1=0;h=h0;x2=h;y1=fun(x1);y2=fun(x2);if(y2>y1){h=-h;x3=x1;x1=x2;x2=x
2、3;y3=y1;y1=y2;y2=y3;}x3=x2+h;y3=fun(x3);while(y33、>#include#definef(x)x*x-10*x+36doublegi(double*a,double*b,doublee,int*n){doublex1,x2,min;if(fabs((*b-*a)/(*b))<=e)min=f((*b+*a)/2);else{x1=*b-0.618*(*b-*a);x2=*a+0.618*(*b-*a);if(f(x1)>f(x2))*a=x1;else*b=x2;*n=*n+1;min=gi(a,b,e,n);}returnmin;}voidmain(){doublemin,a,b,e,m;
4、intn=0;printf("输入搜索区间a,b值和精度e");scanf("%lf%lf%lf",&a,&b,&e);min=gi(&a,&b,e,&n);m=(a+b)/2;printf("a=%lf,b=%lf,min=%lf,m=%lf,n=%d",a,b,min,m,n);}Pressanykeytocontinue运行过程及结果:a*=5.000000y*=11.000000程序三:二次插值法源程序:#include#include第8页共8页《机械优化设计》上机源程序与结果—floatf(float
5、x){floatmin;min=x*x-10*x+36;returnmin;}voidmain(){floate=0.001,c1,c2,ap,yp,a,y;floath0=0.03,h=h0,a1=0,a2=h,y1,y2,a3,y3;y1=f(a1);y2=f(a2);if(y2>y1){h=-h;a3=a1;y3=y1;a1=a2;y1=y2;a2=a3;y2=y3;}a3=a2+h;y3=f(a3);while(y36、=%ff(%f)=%ff(%f)=%f",a1,y1,a2,y2,a3,y3);y1=f(a1);y2=f(a2);y3=f(a3);c1=(y3-y1)/(a3-a1);c2=((y2-y1)/(a2-a1)-c1)/(a2-a3);ap=0.5*(a1+a3-c1/c2);yp=f(ap);while(abs((y2-yp)/y2)>=e){if((ap-a2)*h>0){if(y2>=yp){a1=a2;y1=y2;a2=ap;y2=yp;}else{a3=ap;y3=yp;}}else{if(y2>=yp){a3=a2;y3=y2;a2=
7、ap;y2=yp;}else{a1=ap;y1=yp;}}}if(y2#include#includefloatfun1(floatx
8、,floata,floatb){floaty;y=x+a*b;returny;}