连杆结构的优化matlab,MATLAB连杆优化

在做一个平面多连杆滑块优化的时候用MATLAB编程遇到了麻烦,怎么也求不出值。求各位高手帮帮忙啊。把调试好的程序发给我。。小弟万分感谢啊 *pi/180 20]; %%%%%%%变量取值区间%%%%%%%非线性约束function [g,ceq]=cdj_g(x);ga

在做一个平面多连杆滑块优化的时候用MATLAB编程遇到了麻烦,怎么也求不出值。求各位高手帮帮忙啊。把调试好的程序发给我。。小弟万分感谢啊 *pi/180 20]; %%%%%%%变量取值区间%%%%%%%非线性约束function [g,ceq]=cdj_g(x);gama1=45*pi/180;gama3=45*pi/180;gama2=135*pi/180;gama4=135*pi/180;g(1)=x(2)^2+x(3)^2-(x(4)-x(1))^2-2*x(2)*x(3)*cos(gama1);g(2)=-x(2)^2-x(3)^2+(x(4)+x(1))^2-2*x(2)*x(3)*cos(gama2);g(3)=-x(6)*cos(gama3)+(x(5)+x(4)*sin(x(7))+x(9))-(x(5)-x(4)*sin(x(7))-x(9))+x(6)*cos(ganma4);g(4)=x(5)+sin(x(7))*x(4)+x(9)-x(6);ceq=[]; %%%%%%%目标函数 function f=jfg_f(x); phia=60*pi/180;phib=-180*pi/180;phi1=phia+x(7);vfm=0;deta=(phia-phib)/48;for i=1:48 VF(x);vfm=vfm+VF;phi1=phi1-deta;endvfm=vfm/(phia-phib);phi1=phia+phi4;f=0;for i=1:48 VF(x); f=f+(VF-vfm)^2; phi1=phi1-deta;endf=f/(phia-phib);end function fv=VF(x) Bx=x(1)*cos(phi1);By=x(1)*sin(phi1)+x(9);Dx=L4*cos(x(7));Dy=L4*sin(x(7))+x(9);d=sqrt((Bx-Dx)^2+(By-Dy)^2);c=(x(2)^2+d^2-x(3)^2)/(2*x(2)*d);a=atan2(sqrt(1-c^2),c);b=atan2((Dy-By),(Dx-Bx));phi2=a+b;Cx=Bx+x(2)*cos(phi2);Cy=By+x(2)*sin(phi2);phi3=atan2((Cy-Dy),(Cx-Dx));phi6=asin(-(e+x(4)*sin(phi4)+x(5)*sin(phi3-x(9)))/L6);XF=x(4)*cos(x(7))+x(5)*cos(phi3-thi)+x(6)*cos(phi6);sF=x(4)*cos(x(7))+sqrt((x(5)+x(6))^2-(x(9)+x(4)*sin(x(7)))^2)-XF;W3=(x(1)*W1*sin(phi1-phi2))/(x(3)*sin(phi3-phi2));W2=-(x(1)*W1*sin(phi1-phi3))/(x(2)*sin(phi2-phi3));W6=-(x(5)*W3*cos(phi3-x(9)))/(x(6)*cos(phi6));VF=x(5)*W3*sin(phi3-x(9))+x(6)*W6*sin(phi6); endend

展开

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值