matlab齿轮转动代码,有哪位大神有matlab 直齿轮传动优化的代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

主程序

clc

clear

A=[];B=[];Aeq=[];Beq=[];Lb=[1 2 19 19 4 0.1396 0.1369];Ub=[6 6 40 40 6 0.2618 0.2618];

x0=[2 ;2.5;26 ;37;4.8; 0.2539; 0.2415];

[x,f]=fmincon('fun1',x0,A,B,Aeq,Beq,Lb,Ub,'fun2')

子程序1

function y=fun1(x)

i=17.74;

y=x(1)*x(3)/(2*cos(x(6)))*(1+x(5))+x(2)*x(4)/(2*cos(x(7)))*(1+i/x(5));

子程序2

function [c,cep]=fun2(x)

ii=17.74;

K1=2.1073; K2=2.0034;K3=1.9278;K4=1.9278;

T1=8.5685e+04;

T2=3.99e+05;

Yf1=2.72; Yf2=2.16; Yf3=2.53; Yf4=2.18;

Ys1=1.57; Ys2=1.8; Ys3=1.62; Ys4=1.79;

Yb=0.88;

Ze =189.8;

Zh=2.42;

of1=303.57;of2=244.28; of3=321.42; of4 =249.71;

oh1=(582+605)/2; oh3=(570+539)/2;

ea=1.655; ea2=1.545;

c(1)=2*K2*T1*Yf1*Ys1*Yb*cos(x(6))^2/(x(1)^3*x(3)^2*ea)-of1;

c(2)=2*K2*T1*Yf2*Ys2*Yb*cos(x(6))^2/(x(1)^3*x(3)^2*ea)-of2;

c(3)=sqrt(2*K1*T1*(x(5)+1)*cos(x(6))^3/(x(1)^3*x(3)^3*ea*x(5)))*Zh*Ze-oh1;

c(4)=2*K4*T2*Yf3*Ys3*Yb*cos(x(7))^2/(x(2)^3*x(4)^2*ea2)-of3;

c(5)=2*K4*T2*Yf4*Ys4*Yb*cos(x(7))^2/(x(2)^3*x(4)^2*ea2)-of4;

c(6)=sqrt(2*K3*T2*(ii/x(5)+1)*cos(x(7))^3/(x(2)^3*x(4)^3*ea2*ii/x(5)))*Zh*Ze-oh3;%6个强度条件

c(7)=-(x(2)*x(4)*(1+ii/x(5))/(2*cos(x(7)))-x(1)*x(3)*x(5)/(2*cos(x(6)))-x(1));%不干涉约束

c(8)=vpa(abs(fix(x(3))-x(3)),4)-0.0001;

c(9)=vpa(abs(fix(x(4))-x(4)),4)-0.0001;%限制x3 x4为整数

c(10)=ii/x(5)-x(5);

cep=[];

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值