📄 15-优化设计的分析与计算-2.m__.htm
字号:
<html><head><title>MATLAB.rar 15-优化设计的分析与计算-2.m</title>
<LINK href="/inc/read_style.css" type=text/css rel=stylesheet></head>
<body>
<p><a href=http://www.pudn.com>www.pudn.com</a> > <a href="http://www.pudn.com/downloads111/sourcecode/graph/detail461284.html">MATLAB.rar</a> > 15-优化设计的分析与计算-2.m</p><!-- saved from http://www.pudn.com -->
<script src="/inc/gg_read1.js"></script><BR>
<pre name="code" class="m">
% 例2-两级斜齿轮传动中心距优化设计
% 1----减速器中心距优化设计主程序
% 设计变量的初始值
x0=[2;4;18;20;6.4;10];
% 设计变量的下界与上界
lb=[2;3.5;14;16;5.8;8];
ub=[5;6;22;22;7;15];
% 线性不等式约束(g6(x)-g17(x))中设计变量的系数矩阵
a=zeros(12,6);
a(1,1)=-1;a(2,1)= 1;
a(3,2)=-1;a(4,2)= 1;
a(5,3)=-1;a(6,3)= 1;
a(7,4)=-1;a(8,4)= 1;
a(9,5)=-1;a(10,5)= 1;
a(11,6)=-1;a(12,6)= 1;
% 线性不等式约束(g6(x)-g17(x))中的常数项列阵
b=[-2;5;-3.5;6;-14;22;-16;22;-5.8;7;-8;15];
% 使用多维约束优化命令fmincon(调用目标函数jsqyh_f和非线性约束函数jsqyh_g)
% 没有等式约束,参数Aeq和beq定义为空矩阵符号“[ ]”
[x,fn]=fmincon(@jsqyh_f,x0,a,b,[],[],lb,ub,@jsqyh_g);
disp ' ******** 两级斜齿轮传动中心距优化设计最优解 ********'
fprintf (1,' 高速级齿轮副模数 Mn1 = %3.4f mm \n',x(1))
fprintf (1,' 低速级齿轮副模数 Mn2 = %3.4f mm \n',x(2))
fprintf (1,' 高速级小齿轮齿数 z1 = %3.4f \n',x(3))
fprintf (1,' 低速级小齿轮齿数 z3 = %3.4f \n',x(4))
fprintf (1,' 高速级齿轮副传动比 i1 = %3.4f \n',x(5))
fprintf (1,' 齿轮副螺旋角 beta = %3.4f 度 \n',x(6))
fprintf (1,' 减速器总中心距 a12 = %3.4f mm \n',fn)
% 调用多维约束优化非线性约束函数(jsqyh_g)计算最优点x*的性能约束函数值
g=jsqyh_g(x);
disp ' ======== 最优点的性能约束函数值 ========'
fprintf (1,' 高速级齿轮副接触疲劳强度约束函数值 g1 = %3.4f \n',g(1))
fprintf (1,' 低速级齿轮副接触疲劳强度约束函数值 g2 = %3.4f \n',g(2))
fprintf (1,' 高速级大齿轮齿根弯曲强度约束函数值 g3 = %3.4f \n',g(3))
fprintf (1,' 低速级大齿轮齿根弯曲强度约束函数值 g4 = %3.4f \n',g(4))
fprintf (1,' 大齿轮齿顶与轴不干涉几何约束函数值 g5 = %3.4f \n',g(5))
% 2----两级斜齿轮减速器总中心距的目标函数(jsqyh_f)
function f=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;
% 3----两级斜齿轮减速器优化设计的非线性不等式约束函数(jsqyh_g)
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=[];
</pre>
<script src="/inc/gg_read2.js"></script><BR>
<script src="http://s117.cnzz.com/stat.php?id=1236358&web_id=1236358&show=pic" language="JavaScript" charset="gb2312"></script>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -