Fminunc函数目标函数的文件(sc_wysyh.m):functionf=sc_wysyh(x)%定义目标函数调用格式a=64516;hd=pi/180;f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/sin(x(2)*hd);%定义目标函数求最优化解时的命令程序:x0=[25,45];%初始点[x,Fmin]=fminunc(@sc_wysyh,x0);%求优语句fprintf(1,'截面高度hx(1)=%3.4fmm\n',x(1))fprintf(1,'斜边夹角θx(2)=%3.4f度\n',x(2))fprintf(1,'截面周长sf=%3.4fmm\n',Fmin)计算结果截面高度hx(1)=192.9958mm斜边夹角θx(2)=60.0005度截面周长sf=668.5656mmFmincon函数%两级斜齿轮减速器总中心距目标函数functionf=jsqyh_f(x);hd=pi/180;a1=x(1)*x(3)*(1+x(5));a2=x(2)*x(4)*(1+31.5/x(5));cb=2*cos(x(6)*hd);f=(a1+a2)/cb;%两级斜齿轮减速器优化设计的非线性不等式约束函数function[g,ceq]=jsqyh_g(x);hd=pi/180;g(1)=cos(x(6)*hd)^3-3.079e-6*x(1)^3*x(3)^3*x(5);g(2)=x(5)^2*cos(x(6)*hd)^3-1.701e-4*x(2)^3*x(4)^3;g(3)=cos(x(6)*hd)^2-9.939e-5*(1+x(5))*x(1)^3*x(3)^2;g(4)=x(5)^2.*cos(x(6)*hd)^2-1.076e-4*(31.5+x(5))*x(2)^3*x(4)^2;g(5)=x(5)*(2*(x(1)+50)*cos(x(6)*hd)+x(1)*x(2)*x(3))-x(2)*x(4)*(31.5+x(5));ceq=[];编制优化设计的M文件x0=[2;4;18;20;6.4;10];%设计变量的初始值lb=[2;3.5;14;16;5.8;8];%设计变量的下限ub=[5;6;22;22;7;15];%设计变量的上限[x,fn]=fmincon(@jsqyh_f,x0,[],[],[],[],lb,ub,@jsqyh_g);disp'************两级斜齿轮传动中心距优化设计最优解*************'fprintf(1,'高速级齿轮副模数Mn1=%3.4fmm\n',x(1))fprintf(1,'低速级齿轮副模数Mn2=%3.4fmm\n',x(2))fprintf(1,'高速级小齿轮齿数z1=%3.4fmm\n',x(3))fprintf(1,'低速级小齿轮齿数z2=%3.4fmm\n',x(4))fprintf(1,'高速级齿轮副传动比i1=%3.4fmm\n',x(5))fprintf(1,'齿轮副螺旋角beta=%3.4fmm\n',x(6))fprintf(1,'减速器总中心距a12=%3.4fmm\n',fn)g=jsqyh_g(x);disp'==========最优点的性能约束函数值=========='fprintf(1,'高速级齿轮副接触疲劳强度约束函数值g1=%3.4fmm\n',g(1))fprintf(1,'低速级齿轮副接触疲劳强度约束函数值g2=%3.4fmm\n',g(2))fprintf(1,'高速级大齿轮齿根弯曲强度约束函数值g3=%3.4fmm\n',g(3))fprintf(1,'低速级大齿轮齿根弯曲强度约束函数值g4=%3.4fmm\n',g(4))fprintf(1,'大齿轮顶圆与轴不干涉几何约束函数值g5=%3.4fmm\n',g(5))处理结果:************两级斜齿轮传动中心距优化设计最优解*************高速级齿轮副模数Mn1=2.0461mm低速级齿轮副模数Mn2=3.6059mm高速级小齿轮齿数z1=18.5156mm低速级小齿轮齿数z2=16.0000mm高速级齿轮副传动比i1=5.8000mm齿轮副螺旋角beta=8.0000减速器总中心距a12=317.4186mm==========最优点的性能约束函数值==========高速级齿轮副接触疲劳强度约束函数值g1=0.0000mm低速级齿轮副接触疲劳强度约束函数值g2=0.0000mm高速级大齿轮齿根弯曲强度约束函数值g3=-1.0042mm低速级大齿轮齿根弯曲强度约束函数值g4=-15.1854mm大齿轮顶圆与轴不干涉几何约束函数值g5=-761.8043mm单级圆柱齿轮减速器优化:首先在Matlab优化工具箱中编写目标函数的M文件myfun.m,返回x处的函数值f:functionf=myfun(x)f=0.785398*(4.75*x(1)*x(2)^2*x(3)^2+85*x(1)*x(2)*x(3)^2-85*x(1)*x(3)^2+0.92*x(1)*x(6)^2-x(1)*x(5)^2+0.8*x(1)*x(2)*x(3)*x(6)-1.6*x(1)*x(3)*x(6)+x(4)*x(5)^2+x(4)*x(6)^2+28*x(5)^2+32*x(6)^2)由于约束条件中有非线性约束,故需要编写一个描述非线性约束条件的M文件mycon.m:function[c,ceq]=myobj(x)c=[17-x(2);0.9-x(1)/(x(2)*x(3));x(1)/(x(2)*x(3))-1.4;2-x(3);x(2)*x(3)-300;100-x(5);x(5)-150;130-x(6);x(6)-200;x(1)+0.5*x(6)-x(4)-40;1486250/(x(2)*x(3)*sqrt(x(1)))-550;7098/(x(1)*x(2)*x(3)^2*(0.169+0.006666*x(2)-0.0000854*x(2)^2))-400;7098/(x(1)*x(2)*x(3)^2*(0.2824+0.00177*x(2)-0.0000394*x(2)^2))-400;117.04*x(4)^4/(x(2)*x(3)*x(5)^4)-0.003*x(4);(1/(x(5)^3))*sqrt((2850000*x(4)/(x(2)*x(3)))^2+2.4*10^12)-5.5;(1/(x(6)^3))*sqrt((2850000*x(4)/(x(2)*x(3)))^2+6*10^13)-5.5];ceq=[...