整体式转向梯形优化设计MATLAB程序

整体式转向梯形优化设计MATLAB程序
第一个m文件 objfun22.m

function f=objfun22(x)
L=4430;
M=2150;%轮距
M1=2360;%主销轴线延长线与地面交点
gam=x(1)*pi/180;%将布置角转化为弧度单位
m=x(2);
for i=1:35;
    afa(i)=i*pi/180;%外侧转角
    N=sqrt(M^2+m^2-2*M*m*sin(gam+afa(i)));
    deta1=asin(m*cos(gam+afa(i))/N);
    b=M-2*m*sin(gam);
    beta=gam+deta1-asin((N^2+m^2-b^2)/(2*N*m);%实际转角
    beta0=atan(1/(M1/L+1/tan(afa(i))));%理论转角
    c(i)=abs(beta-beta0)*180/pi;
end
f=max(c);%目标函数

解释:
L为轴距
M 为两转向主销的轴线延长线与地面交点之间的距离
afa(i) 外侧转角
beta 实际转角
beta0 理论转角

第二个m文件 confun22.m

function[c,ceq]=confun22(x)%约束函数
L=4430;
M=2150;
M1=2360;
gam=x(1)*pi/180;
m=x(2);
afa35=35*pi/180;
N=sqrt(M^2+m^2-2*M*m*sin(gam+afa35));
 deta1=asin(m*cos(gam+afa35)/N);
    b=M-2*m*sin(gam);
    beta35=gam+deta1-asin((N^2+m^2-b^2)/(2*N*m));
    dlt=180-acos((b^2-M^2+2*M*x(2)*sin(gam-beta35))/(2*b*x(2)))*180/pi;%外转角35度时的传动角
    c=[x(1)-40;(90-atan(1.2*L/M)*180/pi)-x(1);x(2)-0.22*M;0.11*M-x(2);30-dlt];%非线性不等式约束
    ceq=[];%没有非线性等式约束

解释:
afa35 外侧转角35度
beta35 实际转角
dlt 外转角35度时的传动角
主程序

clear all
x0=[15,210];%暂定转向梯形角和梯形臂长度的初值
options=optimset('largescale','off');
[x,fval]=fmincon('objfun22',x0,[],[],[],[],[],[],'confun22',options)
L=4430;
M=2150;
M1=2360;
gam=x(1)*pi/180;%将布置角转化为弧度
m=x(2);
for i=1:35;%外侧转角每一度进行循环计算
     afa(i)=i*pi/180;%外侧转角
    N=sqrt(M^2+m^2-2*M*m*sin(gam+afa(i)));
    deta1=asin(m*cos(gam+afa(i))/N);
    b=M-2*m*sin(gam);
    beta=gam+deta1-asin((N^2+m^2-b^2)/(2*N*m));%实际内转角
    beta0=atan(1/(M1/L+1/tan(afa(i))));%理论内转角
    c(i)=abs(beta-beta0)*180/pi;
   bt0(i,:)=beta0.*180/pi;%建立理论外侧转角数组
    bt(i,:)=beta.*180/pi;%建立实际外侧转角数组
   ai(i,:)=afa(i).*180/pi;
end
plot(ai,bt0,ai,bt)%画出实际与理论转角曲线
figure(2)
plot(ai,c)

按照这个给定条件得到结果为:
x =

21.9551 236.4940

转向梯形角为 21.9551度 梯形臂长度236.4940mm
fval =

0.5773——外侧理论与实际转角误差

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值