下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机械优化设计实验报告目录1进退法确定初始区间 31.1进退法基本思路 31.2进退法程序框图31.3题目31.4源程序代码及运行结果 32黄金分割法42.2黄金分割法流程图 42.3题目52.4源程序代码及结果53牛顿型法53.1牛顿型法基本思路63.2阻尼牛顿法的流程图 63.3题目63.4源程序代码及结果64. 鲍威尔法74.1鲍威尔法基本思路 74.2鲍威尔法流程图74. 3题目84.4源程序代码及结果85. 复合形法155.1复合行法基本思想 155.3源程序代码及结果166. 外点惩罚函数法236.1解题思路:236.2流程框图236.3题目236.4源程序代码及结果 247. 机械
2、设计实际问题分析 297.2计算过程如下297.3源程序编写318. 报告总结321进退法确定初始区间1.1进退法基本思路:按照一定的规则试算若干个点,比较其函数值的 大小,直至找到函数值按“高-低-高”变化的单峰区间。1.2进退法程序框图/(ai) aftTTK孟A亠爲J1.3题目:用进退法求解函数fxx2 7x 10的搜索区间1.4源程序代码及运行结果#in elude <stdio.h>#in elude <math.h>mai n()float h,h0,y1,y2,y3,a1=0,a2,a3,fa2,fa3;scan f("hO=%f,y 1= %f
3、",&h0, &y1); h=h0;a2=h;y2=a2*a2-7*a2+10;if (y2>y1)h=-h;a3=a1;y3=y1;loop:a 1=a2;y1=y2;a2=a3;y2=y3;a3=a2+2*h;y3=a3*a3-7*a3+10;if (y3<y2)goto loop;elsepri ntf("a1=%f,a2=%f,a3=%f,y 1= %f,y2=%f,y3=%fn",a1,a2,a3,y1,y2,y3);搜索区间为0 62黄金分割法2.1黄金分割法基本思路:通过不断的缩短单峰区间的长度来搜索极小点的一种有效方法。
4、按(0.618)缩小 k比较f(x)大小确定取舍区间。2.2黄金分割法流程图2.3题目:对函数f x x2 7x 9,给定搜索区间0 x 8时,试用黄金分割法求极小点2.4源程序代码及结果:f=inline('xA2-7*x+9')a=0;b=8;eps=0.001; a1=b-0.618*(b-a) ;y1= f(a1); a2=a+0.618*(b-a);y2=f(a2);while (abs(b-a)>eps)if (y1>=y2)a=a1;a1=a2;y1=y2;a2=a+0.618*(b-a); y2=f(a2);elseb=a2;a2=a1;y2=y1;
5、a1= b-0.618*(b-a);y1=f(a1);endend xxx=0.5*(a+b)f =In li ne fun cti on:f(x) = xA2-7*x+9 xxx =3.49973. 牛顿型法3.1牛顿型法基本思路:在xk邻域内用一个二次函数x来近似代替原目标函数,并将 x的极小点作为对目标函数f x求优的下一个迭 代点xk 1。经多次迭代,使之逼近目标函数 f x的极小点。3.2阻尼牛顿法的流程图:给定X0k 0dk2f(xk)1 f(xk)Txk1 xk kdk| k k 1k:mi nf(xkdk)3.3题目:用牛顿阻尼法求函数fx-!,x2x12 4x,2x2的极小点
6、3.4源程序代码及结果:k=0;ptol=1.0e-5;xk=in put('in put xO:')itcl=1;1;whileno rm(itcl)>=ptol f1=4*xk(1,1)A3-24*xk(1,1F2+50*xk(1,1)-4*xk(2,1)-32;-4*xk(1,1)+8*xk(2,1);G=12*xk(1,1)A2-48*xk(1,1)+50,-4;-4,8;dk=-inv(G)*f1; a=-(dk'*f1)/(dk'*G*dk);xk=xk+a*dk;itcl=a*dk;k=k+1;endf=(xk(1,1)-2)A4+(xk(1
7、,1)-2*xk(2,1)A2;fprintf( 'n o ?Xe ?d ?£ ? 0咆''(?0 6卩? ?D? ? x*? ° ?D?y f ?a:n' disp(xk);disp(f);结果显示:in put x0:1;1用阻尼牛顿法迭代 27次后得到极小点x*及极小值f为:2.00001.00001.3270e-0194. 鲍威尔法4.1鲍威尔法基本思路:在不用导数的前提下,在迭代中逐次构造 轭方向。,k);G的共4.2鲍威尔法流程图:4. 3 题目:求函数 f(x) = x0*x0+x1*x1-x0*x1-10*x0-4*x1+60
8、的最优点,收敛精度& =0.0014.4源程序代码及结果:#i nclude "stdio.h"#i nclude "stdlib.h"#in clude "math.h"double objf(double x)double ff;ff=x0*x0+x1*x1-x0*x1-10*x0-4*x1+60;return(ff);void jtf(double xO,double hO,double s,i nt n,double a,double b) int i;double *x3,h,f1,f2,f3;for(i=0;i&l
9、t;3;i+)xi=(double *)malloc( n*sizeof(double);h=h0;for(i=0;i <n ;i+)*(x0+i)=x0i;f1=objf(x0);for(i=0;i <n ;i+)*(x1+i)=*(x0+i)+h*si;f2=objf(x1);if(f2>=f1)h=-h0;for(i=0;i <n ;i+)*(x2+i)=*(x0+i);f3=f1;for(i=0;i <n ;i+)*(x0+i)=*(x1+i);*(x1+i)=*(x2+i);f1=f2;f2=f3;for(;)h=2*h;for(i=0;i <n
10、;i+)*(x2+i)=*(x1+i)+h*si;f3=objf(x2);if(f2<f3) break;else for(i=0;i <n ;i+)*(x0+i)=*(x1+i);*(x1+i)=*(x2+i);f1=f2;f2=f3;if(h<0)for(i=0;i <n ;i+)ai=*(x2+i);bi=*(x0+i);elsefor(i=0;i <n ;i+)ai=*(x0+i);bi=*(x2+i);for(i=0;i<3;i+)free(xi);double gold(double a,double b,double eps,i nt n, d
11、ouble xx)int i;double f1,f2,*x2,ff,q,w;for(i=0;i<2;i+)xi=(double *)malloc( n*sizeof(double);for(i=0;i <n ;i+)*(x0+i)=ai+0.618*(bi-ai);*(x1+i)=ai+0.382*(bi-ai);f1=objf(x0);f2=objf(x1);doif(f1>f2)for(i=0;i <n ;i+)bi=*(x0+i); *(x0+i)=*(x1+i);f1=f2;for(i=0;i <n ;i+)*(x1+i)=ai+0.382*(bi-ai
12、); f2=objf(x1);else for(i=0;i <n ;i+) ai=*(x1+i);*(x1+i)=*(x0+i);f2=f1;for(i=0;i <n ;i+)*(x0+i)=ai+0.618*(bi-ai); f1=objf(x0);q=0;for(i=0;i <n ;i+) q=q+(bi-ai)*(bi-ai); w=sqrt(q);while(w>eps); for(i=0;i <n ;i+) xxi=0.5*(ai+bi); ff=objf(xx);for(i=0;i<2;i+)free(xi);return(ff);double
13、on eoptim(double xO,double s,double hO,double epsg,i nt n, double x)double *a,*b,ff;a=(double *)malloc( n*sizeof(double);b=(double *)malloc( n*sizeof(double);jtf(xO,hO,s, n, a,b);ff=gold(a,b,epsg, n,x);free(a);free(b);return (ff);double powell(double p,double h0,double eps,double epsg,i nt n, double
14、 x)int i,j,m;double *xx4,*ss,*s;double f,f0,f1,f2,f3,fx,dlt,df,sdx,q,d;ss=(double *)malloc (n*(n+1)*sizeof(double);s=(double *)malloc( n*sizeof(double);for(i=0;i <n ;i+)for(j=0;j<=n;j+)*(ss+i* (n+1)+j)=0;*(ss+i* (n+1)+i)=1;for(i=0;i<4;i+)xxi=(double *)malloc (n *sizeof(double);for(i=0;i <
15、;n ;i+)*(xx0+i)=pi;for(;)for(i=0;i <n ;i+)*(xx1+i)=*(xx0+i);xi=*(xx1+i);fO=f1=objf(x);dlt=-1;for(j=0;j <n ;j+)for(i=0;i <n ;i+)*(xxO+i)=xi;*(s+i)=*(ss+i*( n+1)+j);f=on eoptim(xx0,s,h0,epsg, n,x);df=fO-f;if(df>dlt)dlt=df;m=j;sdx=0;for(i=0;i <n ;i+)sdx=sdx+fabs(xi-(*(xx1+i);if(sdx<ep
16、s)free(ss);free(s);for(i=0;i<4;i+)free(xxi);return (f);for(i=0;i <n ;i+)*(xx2+i)=xi;f2=f;for(i=0;i <n ;i+)*(xx3+i)=2*(*(xx2+i)-(*(xx1+i);xi=*(xx3+i);fx=objf(x);f3=fx;q=(f1-2*f2+f3)*(f1-f2-dlt)*(f1-f2-dlt);d=0.5*dlt*(f1-f3)*(f1-f3);if(f3<f1)|(q<d)if(f2<=f3)for(i=0;i <n ;i+)*(xx0+
17、i)=*(xx2+i);elsefor(i=0;i <n ;i+)*(xx0+i)=*(xx3+i);elsefor(i=0;i <n ;i+)*(ss+(i+1)* (n+1)=xi-(*(xx1+i);*(s+i)=*(ss+(i+1)* (n+1);f=on eoptim(xx0,s,h0,epsg, n,x);for(i=0;i <n ;i+)*(xx0+i)=xi;for(j=m+1;j<=n ;j+)for(i=0;i <n ;i+)*(ss+i*( n+1)+j-1)=*(ss+i*( n+1)+j);void mai n()double p=1,2
18、;double ff,x2;ff=powell(p,0.3,0.001,0.0001,2,x);prin tf("x0=%f,x1=%f,ff=%fn",x0,x1,ff);getchar();5. 复合形法5.1复合行法基本思想:在可行域中选取 K个设计点(n+1W K< 2n)作为初始复合形的顶点。比较各顶点目标函数值的大小, 去掉目标函数值最大的顶点(称最坏点),以坏点以外其余各点的 中心为映射中心,用坏点的映射点替换该点,构成新的复合形顶点。反复迭代计算,使复合形不断向最优点移动和收缩,直至 收缩到复合形的顶点与形心非常接近,且满足迭代精度要求为 止。5.2题
19、目:求函数f(x)=(x1-5)*(x1-5)+4*(x2-6)*(x2-6)的最优点,约束条件 为 g1(x)=64-x1*x1-x2*x2 < 0; g2(x)=x2-x1-10 < 0; g3(x)=x1-10< 0;收敛精度& 自定义;5.3源程序代码及结果:#i nclude <stdio.h>#i nclude <stdlib.h>#in elude <time.h>#in elude <math.h>#define E0 1e-5 /*复合形法收敛控制精度*/double *apply(int,int);
20、/* 申请矩阵空间 */double f(double *); /* 目标函数 */double *g(double *); /* 约束函数 */bool judge(double *); /* 可行点的判断 */int mai n() int n,k;int i,j,k1;int l;double temporary;double restrain; /*收敛条件 */double reflect; /*反射系数 */sran d( un sig ned)time(NULL);printf("请输入目标函数的维数n:"); /*输入已知数据*/sca nf("%
21、d",&n);printf("请输入复合形的顶点数k:");sca nf("%d",&k);double *x=apply(k,n); /* 存放复合形顶点 */double *y=(double *)calloc(k,sizeof(double); /* 存放目标函数值 */double *p=(double *)calloc(3,sizeof(double); /* 存放约束函数值 */ double *a=(double *)calloc(n,sizeof(double); /* 存放设计变量的下限 */ double *
22、b=(double *)calloc(n,sizeof(double); /* 存放设计变量的上限 */ double *x_c=(double *)calloc(n,sizeof(double); /* 存放可行点中心 */ double *x_r=(double *)calloc(n,sizeof(double); /* 存放最坏点的反射点 */ printf("请输入选定的第一个可行点x1(包含%d个数):",n);for(i=0;i< n;i+)scan f("%lf",*x+i);printf("请输入初选变量的下限a(包含%d
23、个数):",n);for(i=0;i<n;i+) scanf("%lf",a+i);printf("请输入初选变量的上限b(包含%d个数):",n);for(i=0;i<n;i+) scanf("%lf",b+i);printf("输出输入结果为:nn=%d,k=%d,x1=(",n,k); /*输出已知数据*/for(i=0;i< n-1;i+)prin tf("%.5lf ",*(*x+i);prin tf("%.5lf)na=(",*(*x+
24、n-1);for(i=0;i< n-1;i+)prin tf("%f ",*(a+i);prin tf("%.5lf),b=(",*(a+n-1);for(i=0;i< n-1;i+)prin tf("%f ",*(b+i);prin tf("%.5lf)n",*(b+n-1);L1: for(i=1;i<k;i+) /*随机得到其余(k-1)个可行点*/for(j=0;j <n ;j+)*(*(x+i)+j)=*(a+j)+(double)(ra nd()%10000)/10000*(*(
25、b+j)-*(a+j);l=1;for(i=1;i<k;i+) /*找出可行点的个数l,并把可行点放在前l个位置上*/if(judge(*(x+i)for(j=1;j<k;j+)if(!judge(*(x+j)for(k 1=0;k1< n;k1+)temporary=*(*(x+i)+k1);*(*(x+i)+k1)=*(*(x+j)+k1);*(*(x+j)+k1)=temporary;break;I+;for(i=0;i<l-1;i+)/*把前I个可行点按目标函数值从大到小排序*/ for(j=i+1;j<l;j+)if(f(*(x+i)vf(*(x+j)f
26、or(k 1=0;k1< n;k1+)temporary=*(*(x+i)+k1);*(*(x+i)+k1)=*(*(x+j)+k1); *(*(x+j)+k1)=temporary;for(i=0;i<n;i+) /* 求可行点中心 */*(x_c+i)=0;for(i=0;i<I;i+)for(j=0;j <n ;j+)*(x_c+j)+=*(*(x+i)+j);for(i=0;i <n ;i+)*(x_c+i)/=l;if(!judge(x_c) /*判断可行点中心是否可行*/for(i=0;i <n ;i+)*(a+i)=*(*(x+l-1)+i);
27、 *(b+i)=*(x_c+i);goto L1;elsefor(i=l;i<k;i+)/*将不可行点可行化*/dofor(j=0;j <n ;j+)*(*(x+i)+j)=*(x_c+j)+0.5*(*(*(x+i)+j)-*(x_c+j);while(!judge(*(x+i);L2: for(i=0;i<k-1;i+) /*将可行点按目标函数值从大到小排序*/for(j=i+1;j<k;j+) if(f(*(x+i)<f(*(x+j)for(k1=0;k1< n;k1+) temporary=*(*(x+i)+k1);*(*(x+i)+k1)=*(*(
28、x+j)+k1);*(*(x+j)+k1)=temporary;restrain=0; /*求收敛条件*/ for(i=0;i<k;i+)restrai n+=(f(*(x+i)-f(*(x+k-1)*(f(*(x+i)-f(*(x+k-1);*/为:(");restrai n=sqrt(1.0/(k-1)*restrai n); if(restrai * E0) /*判断收敛条件printf("n求得约束最优点for(i=0;i <n ;i+)prin tf("%.5f",*(*(x+k-1)+i);prin tf(")n目标函数
29、的最优解为:%.5fn",f(*(x+k-1);return 0;elseL3: for(i=0;i<n;i+) /*计算除去最坏点*x外的(k-1)个顶点的中心*/*(x_c+i)=O; for(i=1;i<k;i+)for(j=0;j <n ;j+)*(x_c+j)+=*(*(x+i)+j);for(i=0;i <n ;i+) *(x_c+i)/=k-1;reflect=1.3;L4: for(i=0;i<n;i+) /* 求反射点 */*(x_ 叶i)=*(x_c+i)+reflect*(*(x_c+i)-*(*x+i);if(!judge(x_r
30、)reflect*=0.5;goto L4;else if(f(x_r)<f(*x)for(i=0;i<n;i+) *(*x+i)=*(x_r+i); goto L2;else if(reflect<=1e-10)for(i=0;i<n;i+) *(*x+i)=*(*(x+1)+i); goto L3;elsereflect*=0.5;goto L4;double *apply(int row,int col) /* 申请矩阵空间 */int i;double *x=(double*)calloc(row*col,sizeof(double);double *y=(do
31、uble *)calloc(row,sizeof(double *);if(!x | !y) printf("内存分配失败!");exit(1);for(i=0;i<row;i+)*(y+i)=x+i*col; retur n y;double f(double *x) /* 目标函数 */return (*x-5)*(*x-5)+4*(*(x+1)-6)*(*(x+1)-6);double *g(double *x) /* 约束函数 */double *p=(double *)calloc(3,sizeof(double);if(!p)printf("内存
32、分配失败!");exit(1);*p=64-(*x)*(*x)-(*(x+1)*(*(x+1);*(p+1)=*(x+1)-*x-10;*(p+2)=*x-10;return p;bool judge(double *x) /* 可行点的判断 */int i;double *p=(double *)calloc(3,sizeof(double); p=g(x);for(i=0;i<3;i+)if(*(p+i)>0) break;if(i=3) retur n true;else return false;1 'GLl3enAdmini叫Desktop、忧览设计实岀
33、,复仝序云、D e bu 口复合行i去.e藍亡"£-5 5 T<22XI含含 z HJn包勺 i 11 IJLI - - n -K-TAb .tJ'/.I 为顶一 SS : 一的第量量為0; 一rlF的更兰HY 杯H一S违结d crx选初煲 八入入入入農J-2>:20 262e.eeeBa>14才.-卑歹曲晟估口斗; 5 . 218 ? S.36326 > 自踪匾巖能肾另:0 ” 0*3?2rests Ninjyp key to cent inue6. 外点惩罚函数法6.1解题思路:外点法是从可行域的外部构造一个点序列去逼近原约束问题的最优解
34、。外点法可以用来求解含不等式和等式约束的优化问题。外点惩罚函数的形式为:lrhj(x)2j im(x,r)2f (x) r max0,gi(x)i 16.2流程框图:6.3 题目:求函数 f(x)=(x1-5)*(x1-5)+4*(x2-6)*(x2-6)的最优点,约束条件: g1(x)=64-x1*x1-x2*x2 < 0; g2(x)=x2-x1-10 < 0 ; g3(x)=x1-10 < 0;收敛精度& =0.00001 ;6.4源程序代码及结果:#i nclude <stdio.h>#i nclude<iostream.h>#in c
35、lude<math.h>double lamta10=0, 1.0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1;/ 鲍威尔方法初始化方向,线性无关 double lamta13=0, 0,0;/ 暂存新的搜索方向double x14=0, 0 ,0, 0 ;/x1到x3用于存储各共轭方向的点double x24=0, 0 ,0, 0 ;double x34=0, 0 ,0, 0 ;double x44=0, 0 ,0, 0 ;/x4 用于中间判断double x54=0, 0 ,0, 0 ;/x5用存放于更换方向后产生的新点int m=0;/ 标志double x_4=0, 0
36、, 0, 0;/暂存鲍威尔最优解double x04=0, 2, 2,2;/ 初值double c=10;递减系数double e=0.00001;/精 度控制double r0=1;/初始惩罚因子double r=1;函数声明部分void Powell(double r);/ 鲍威尔方法函数double fxy(double x1,double x2,double x3,double r); /待求函数double ysearch(double x); /一维搜索的目标函数void search(double & a,double & b,double h);/ 区间搜索do
37、uble yellowcut(double &a,double &b);/黄金分割void sort(double *p,int size);/选择法排序void mai n()/约束优化方法主函数入口cout<<"请输入精度"<<endl;cin> >e;cha ngya n:Powell(r);double cmpare4;int flag1=0;for (i nt i=1;i<=3;i+)cmparei=x_i-x0i;if (fabs(cmparei)<e)flag1+;if (flag 仁=3)pri
38、n tf("x1=%lfx2=%lfn",x_1,x_2);/ cout<<"最优解为:"<<"x1="<<x_1<<""vv"x2="v<x_2vv""vv"x3="vvx_3v<e ndl ;cout«"最小值为"<vfxy(x_1,x_2,x_3,r)vvendl;elsefor (i nt j=1;j<=3;j+)x0j=x_j;r=c*r;got
39、o cha ngya n;/子函数定义部分double fxy(double x1,double x2,double x3,double r)/待求函数 double m, n,p; m=(64-x1*x1-x2*x2)>0)?(64-x1*x1-x2*x2):0;n=(x2-x1-10)>0)?(x2-x1-10):0; p=(x1-10)>0)?(x1-10):0;return惩罚函数(x1-5)*(x1-5)+4*(x2-6)*(x2-6)+r*(m*m+n*n+p*p)+r*(x3*x3);void Powell(double r)/鲍威尔方法函数定义double d
40、et=0.0001;迭代精度int k;my1: for (k=1;k<=3;k+)m=3*k-2;double a=0,b=0,xo=0;search(a,b,1); 完成区间搜索double temp;temp=yellowcut(a,b); 黄金分割法int n=3*k-2;for (i nt i=1;i<=3;i+)switch (k)case 1:x1i=x0i+temp*lamta n+;break;case 2:x2i=x1i+temp*lamta n+;break;case 3:x3i=x2i+temp*lamta n+;break; default :break;
41、宀宀 s寸 XHSOX) (+10“己丁二£)040)Q>SOXHSOX) (+10“己丁二£)04(寸4VS2)七 (aABHAQorG寸4+0)二一 O-S寸 X-S寸 X-E 寸 X)AX4 £F7M1TS2X0M1T04SS22Qqnop s二 oxox%''三寸 X (+=ohv:=l.iid04話总七os 主L 土二A工三阳MAD (+:=evo上一 1£)04F7MB Qqnopo-sex-sex-DoXMXlrsB-(-SCXIX-SCXIXLorx) AXlraB o-sLX-sLX-ELXMXlrEB-(-sox
42、-soxLox) AXlroB 于M4 Qqnop S05F7OXHSIX FToXHalx xlexheix asmfl窒二oHH6e_4二一宀+6eE(a)pv (曰 dEgsq 国二一 兰 Ox 宀oXHRdE。 (+土OHVLHlurOJOH6Q二 u 一 -寸一dluo -qnopgoto myl;elsefor (i nt t=0;t<3;t+)lamta1t=x3t+1-x0t+1;m=0;/switch 标志!double aa=0,bb=0;search(aa,bb,1);double temp1;temp1=yellowcut(aa,bb);for (i nt i=1
43、;i<=3;i+)x5i=x3i+temp1*lamta1i-1;for (i=1;i<=3;i+)x0i=x5i;for (i=1;i<=6;i+)lamtai=lamtai+3;for (i=1;i<=3;i+)lamta6+i=lamta1i-1;goto my1;double ysearch(double x) /一维搜索的目标函数switch (m)returnreturnreturnreturn更改方向后case1:fxy(x01+x*lamtam,x02+x*lamtam+1,x03+x*lamtam+2,r);break; case4:fxy(x11+x
44、*lamtam,x12+x*lamtam+1,x13+x*lamtam+2,r);break; case7:fxy(x21+x*lamtam,x22+x*lamtam+1,x23+x*lamtam+2,r);break; case0:fxy(x31+x*lamta10,x32+x*lamta11,x33+x*lamta12,r);break;的一维搜索default:retur n 0; break;void search(double & a,double & b,double h) / 区间搜索double a1,a2,a3,y1,y2,y3;h=1;a1=a,y1=yse
45、arch(a1);a2=a+h,y2=ysearch(a2);if(y2>=y1)h=-h,a3=a1,y3=y1;a仁 a2,y 仁 y2,a2=a3,y2=y3; a3=a2+h,y3=ysearch(a3);while(y3<=y2)h=2*h;a1= a2,y1=y2,a2=a3,y2=y3;a3=a2+h,y3=ysearch(a3);if(h<0)a=a3,b=a1;else a=a1,b=a3;/黄金分割法求解double yellowcut(double &a,double &b)double e;e=0.001;double c,fc;c=a
46、+0.382*(b-a);fc=ysearch(c);double d,fd;double xo;d=a+0.618*(b-a);fd=ysearch(d);Iabel2: if (fc<=fd)b=d;d=c;fd=fc;c=a+0.382*(b-a);fc=ysearch(c);elsea=c;c=d;fc=fd;d=a+0.618*(b-a);fd=ysearch(d);if (b-a)<=e)xo=(a+b)/2;elsegoto label2;return xo;void sort(double *p,int size)/ 选择法排序int i,j;double k;for(i=0;i<size-1;i+)for(j=i+1;j<size;j+)if(*(p+i)>*(p+j)k=*(p+i);*(p+i)=*(p+j);*(p+j)=k;7. 机械设计实际问题分析7.1题目:图示为一对称的两杆支架,在支架的顶点承受一个载荷为2F=300000,支架之间的水平距离2B=1520mm,若已选定壁厚T=2.5mm钢管,由于支架为空心杆, 题意可得方程组:2 2.1 10655.4,700 106失效形式主要为屈服,故计算稳定性用屈服极限公式。根据2 2B 2 R2 r2FisA s R2r2R r T ,F1 2Fsin 4代入整理得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宿舍消音活动策划方案(3篇)
- 晚会活动策划方案步骤(3篇)
- 电影分享策划活动方案(3篇)
- 独居女孩活动策划方案(3篇)
- 如何策划菜单活动方案(3篇)
- 施工方案台账全套(3篇)
- 校区跨年活动方案策划(3篇)
- 2025年大学土壤肥料(施用技术实操)试题及答案
- 2025年中职电气(电气测量基础)试题及答案
- 2025年大学大三(工商管理)人力资源管理阶段测试试题及答案
- 南宁市城市配送车辆资源整合:模式创新与效益优化研究
- (2025秋新版)人教版二年级数学上册全册教案(教学设计)
- 气压液压传动课件
- 2025年1月国开电大专本科《经济法学》期末纸质考试试题及答案
- 中学生英语词汇表3500(全)
- 2025年全国基层退役军人服务中心(站)工作人员职业技能竞赛备考试题库(含答案)
- 高压灭菌锅操作培训
- 音视频系统调试方案与标准
- 2024年江苏南通中考满分作文《前进我有我的姿态》8
- 小产权房购房合同示范文本
- 建筑装饰材料与施工工艺知到智慧树章节测试课后答案2024年秋荆门职业学院
评论
0/150
提交评论