您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 连杆机构实现函数的优化设计
%连杆机构实现函数的优化设计%(调用目标函数jfg_f和非线性约束函数cdj_g)%1----优化设计主程序%设计变量的初始值和已知杆件长度(曲柄和机架)x0=[4.5;4];qb=1;jj=5;%设计变量的下界与上界lb=[1;1];ub=[10;10];%线性不等式约束(g1(x)和g2(x))中设计变量的系数矩阵a=zeros(2,2);a(1,1)=-1;a(2,1)=1;a(3,2)=-1;a(4,2)=1;%线性不等式约束(g1(x)和g2(x))中的常数项列阵b=[-1;10;-1;10];%使用多维约束优化命令fmincon(调用目标函数jfg_f和非线性约束函数cdj_g)%没有等式约束,参数Aeq和beq定义为空矩阵符号“[]”[x,fn]=fmincon(@jfg_f,x0,a,b,[],[],lb,ub,@cdj_g);disp'********连杆机构实现函数优化设计最优解********'fprintf(1,'连杆相对长度a=%3.4f\n',x(1))fprintf(1,'摇杆相对长度b=%3.4f\n',x(2))fprintf(1,'输出角平方误差之和f*=%3.4f\n',fn)%调用多维约束优化非线性约束函数(cdj_g)计算最优点x*的性能约束函数值g=cdj_g(x);disp'========最优点的性能约束函数值========'fprintf(1,'最小传动角约束函数值g1*=%3.4f\n',g(1))fprintf(1,'最大传动角约束函数值g2*=%3.4f\n',g(2))%2----连杆机构实现函数优化的目标函数(jfg_f)functionf=jfg_f(x);s=50;qb=1;jj=5;fx=0;fa0=acos(((qb+x(1))^2-x(2)^2+jj^2)/(2*(qb+x(1))*jj));%曲柄初始角pu0=acos(((qb+x(1))^2-x(2)^2-jj^2)/(2*x(2)*jj));%摇杆初始角fori=1:sfai=fa0+0.5*pi*i/s;pui=pu0+2*(fai-fa0)^2/(3*pi);ri=sqrt(qb^2+jj^2-2*qb*jj*cos(fai));alfi=acos((ri^2+x(2)^2-x(1)^2)/(2*ri*x(2)));bati=acos((ri^2+jj^2-qb^2)/(2*ri*jj));iffai0&fai=pipsi=pi-alfi-bati;elseiffaipi&fai=2*pipsi=pi-alfi+bati;endfx=fx+(pui-psi)^2;%输出角平方误差之和endf=fx;%3----连杆机构实现函数优化的非线性不等式约束函数(cdj_g)function[g,ceq]=cdj_g(x);qb=1;jj=5;gamn=45*pi/180;gamm=135*pi/180;g(1)=x(1)^2+x(2)^2-(jj-qb)^2-2*x(1)*x(2)*cos(gamn);%最小传动角约束g(2)=-x(1)^2-x(2)^2+(jj+qb)^2-2*x(1)*x(2)*cos(gamn);%最大传动角约束ceq=[];
本文标题:连杆机构实现函数的优化设计
链接地址:https://www.777doc.com/doc-5868340 .html