matlab非线性约束优化设计-求大神指教,最好能发个源程序供参考
分析题主的链轮优化问题,其极小值问题是呼有点问题。根据机械设计理论,其极小值问题这样提出比较合理。即
min P(x)=(P0*Kz*Ki*Ka*Kp)/KA %x=[x1,x2,x3,x4]
式中:
P0=0.04467*x(1)^1.08*(x(2)/25.4)^(3-0.028*x(2)); %单排链功率
Ka=0.71332+0.0085*x(3)-0.001*x(3)^2/3; %中心距系数
KA=1.0; %工况系数
Kz=(x(1)/19)^1.08; %小齿轮齿数系数
Kp=x(4)^0.84; %多排链系数
Ki=0.82; %传动比系数
约束条件与题主相同。
根据上述,可以用matlab的fmincon()最小值函数求解,得到最优解。
首先、建立目标函数,fmincon_fun(x)
第二,建立约束函数,fmincon_con(x)
第三,用fmincon函数求解,即
[x,fval,exitflag] = fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],lb,ub,@(x) fmincon_con(x));
求解结果
x1=35 %链轮齿数
x2=42.644 %链条节距,此处要标准来选取
x3=90 %链条节数
x4=3 %链条排数
P=-25.8279 %最小计算功率为25.8kW
如有问题,可以私信给我。
2023-08-15 广告