IT评测·应用市场-qidao123.com

标题: MATLAB牛头刨刀床 [打印本页]

作者: 欢乐狗    时间: 2025-3-14 00:18
标题: MATLAB牛头刨刀床
  1. function main1
  2.     clear;
  3.     clc;
  4.     l1 =0.100;
  5.     l3 =0.360;
  6.     l4=0.200;
  7.     l6=0.200;
  8.     l61=0.336;
  9.     w1=2*pi*60;
  10.     alpha1=0;
  11.     D2H=pi/180;
  12.     H2D=180/pi;
  13.     for i=1:3601         
  14.         o1(i)=pi*(i-1)/1800;
  15.         o31(i)=atan((l6+l1*sin(o1(i)))/(l1*cos(o1(i))));  
  16.         if o31(i)>=0
  17.             o3(i)=o31(i);
  18.         else
  19.             o3(i)=pi+o31(i);
  20.         end
  21.         s3(i)=(l1*cos(o1(i)))/cos(o3(i));              
  22.         o4(i)=pi-asin((l61-l3*sin(o3(i)))/l4);
  23.         se(i)=l3*cos(o3(i))+l4*cos(o4(i));           
  24.         if o1(i)==pi/2              
  25.             o3(i)=pi/2;
  26.             s3(i)=l1+l6;
  27.         end
  28.         if o1(i)==3*pi/2
  29.             o3(i)=pi/2;
  30.             s3(i)=16-l1;
  31.         end
  32.         A1=[cos(o3(i)),-s3(i)*sin(o3(i)),0,0;sin(o3(i)),s3(i)*cos(o3(i)),0,0;0,-l3*sin(o3(i)),-l4*sin(o4(i)),-1;0,l3*cos(o3(i)),l4*cos(o4(i)),0];
  33.         B1=w1*[-l1*sin(o1(i));l1*cos(o1(i));0;0];
  34.         D1=A1\B1;
  35.         E1(:,i)=D1;
  36.         ds(i)=D1(1);
  37.         w3(i)=D1(2);
  38.         w4(i)=D1(3);
  39.         ve(i)=D1(4);
  40.         A2=[cos(o3(i)),-s3(i)*sin(o3(i)),0,0;sin(o3(i)),s3(i)*cos(o3(i)),0,0;0,-l3*sin(o3(i)),-l4*sin(o4(i)),-1;0,l3*cos(o3(i)),l4*cos(o4(i)),0];
  41.         B2=-[w3(i)*sin(o3(i)),(-ds(i)*sin(o3(i))-s3(i)*w3(i)*cos(o3(i))),0,0;w3(i)*cos(o3(i)),(ds(i)*cos(o3(i))-s3(i)*w3(i)*sin(o3(i))),0,0;0,-l3*w3(i)*cos(o3(i)),-l4*w4(i)*cos(o4(i)),0;0,-l3*w3(i)*sin(o3(i)),-l4*w4(i)*sin(o4(i)),0]*[ds(i);w3(i);w4(i);ve(i)];
  42.         C2=w1*[-l1*w1*cos(o1(i));-l1*w1*sin(o1(i));0;0];
  43.         B=B2+C2;
  44.         D2=A2\B;
  45.         E2(:,i)=D2;
  46.         dds(i)=D2(1);
  47.         a3(i)=D2(2);
  48.         a4(i)=D2(3);
  49.         ae(i)=D2(4);
  50.     end
  51.     o1D=o1.*H2D;         
  52.     y=[o3.*H2D;o4.*H2D];
  53.     w=[w3;w4];
  54.     a=[a3;a4];
  55.     % 第一个图:导杆角位移曲线和刨刀的位移曲线
  56.     figure(1);
  57.     yyaxis left
  58.     plot(o1D,y);
  59.     ylabel('\it\theta3,\theta4');
  60.     yyaxis right
  61.     plot(o1D,se);
  62.     ylabel('Se')
  63.     xlabel('\it\theta1');
  64.     title('导杆角位移曲线和刨刀的位移曲线');
  65.     axis auto;
  66.     % 第二个图:导杆角速度曲线和刨刀的速度曲线
  67.     figure(2);
  68.     yyaxis left
  69.     plot(o1D,w);
  70.     ylabel('\it\omega3,\omega4');
  71.     yyaxis right
  72.     plot(o1D,ve);
  73.     ylabel('Ve');
  74.     xlabel('\it\theta1');
  75.     title('导杆角速度曲线和刨刀的速度曲线');
  76.     axis auto;
  77.     % 第三个图:导杆的加速度线图和刨刀的加速度曲线
  78.     figure(3);
  79.     yyaxis left
  80.     plot(o1D,a);
  81.     ylabel('\it\alpha3,\alpha4');
  82.     yyaxis right
  83.     plot(o1D,ae);
  84.     ylabel('\it\alphaE');
  85.     xlabel('\it\theta 1');
  86.     title('导杆的加速度线图和刨刀的加速度曲线');
  87.     axis auto;
  88. end
复制代码
  1. 函数定义与初始化部门

   matlab
  1. function main1
  2.     clear;
  3.     clc;
  4.     l1 =0.100;
  5.     l3 =0.360;
  6.     l4=0.200;
  7.     l6=0.200;
  8.     l61=0.336;
  9.     w1=2*pi*60;
  10.     alpha1=0;
  11.     D2H=pi/180;
  12.     H2D=180/pi;
复制代码

  
  
   
  2. 主循环部门

   matlab
  1. for i=1:3601         
  2.     o1(i)=pi*(i-1)/1800;
  3.     o31(i)=atan((l6+l1*sin(o1(i)))/(l1*cos(o1(i))));  
  4.     if o31(i)>=0
  5.         o3(i)=o31(i);
  6.     else
  7.         o3(i)=pi+o31(i);
  8.     end
  9.     s3(i)=(l1*cos(o1(i)))/cos(o3(i));              
  10.     o4(i)=pi-asin((l61-l3*sin(o3(i)))/l4);
  11.     se(i)=l3*cos(o3(i))+l4*cos(o4(i));           
  12.     if o1(i)==pi/2              
  13.         o3(i)=pi/2;
  14.         s3(i)=l1+l6;
  15.     end
  16.     if o1(i)==3*pi/2
  17.         o3(i)=pi/2;
  18.         s3(i)=16-l1;
  19.     end
复制代码
   
  3. 速率计算部门

   matlab
  1.     A1=[cos(o3(i)),-s3(i)*sin(o3(i)),0,0;sin(o3(i)),s3(i)*cos(o3(i)),0,0;0,-l3*sin(o3(i)),-l4*sin(o4(i)),-1;0,l3*cos(o3(i)),l4*cos(o4(i)),0];
  2.     B1=w1*[-l1*sin(o1(i));l1*cos(o1(i));0;0];
  3.     D1=A1\B1;
  4.     E1(:,i)=D1;
  5.     ds(i)=D1(1);
  6.     w3(i)=D1(2);
  7.     w4(i)=D1(3);
  8.     ve(i)=D1(4);
复制代码
   
  4. 加快度计算部门

   matlab
  1.     A2=[cos(o3(i)),-s3(i)*sin(o3(i)),0,0;sin(o3(i)),s3(i)*cos(o3(i)),0,0;0,-l3*sin(o3(i)),-l4*sin(o4(i)),-1;0,l3*cos(o3(i)),l4*cos(o4(i)),0];
  2.     B2=-[w3(i)*sin(o3(i)),(-ds(i)*sin(o3(i))-s3(i)*w3(i)*cos(o3(i))),0,0;w3(i)*cos(o3(i)),(ds(i)*cos(o3(i))-s3(i)*w3(i)*sin(o3(i))),0,0;0,-l3*w3(i)*cos(o3(i)),-l4*w4(i)*cos(o4(i)),0;0,-l3*w3(i)*sin(o3(i)),-l4*w4(i)*sin(o4(i)),0]*[ds(i);w3(i);w4(i);ve(i)];
  3.     C2=w1*[-l1*w1*cos(o1(i));-l1*w1*sin(o1(i));0;0];
  4.     B=B2+C2;
  5.     D2=A2\B;
  6.     E2(:,i)=D2;
  7.     dds(i)=D2(1);
  8.     a3(i)=D2(2);
  9.     a4(i)=D2(3);
  10.     ae(i)=D2(4);
  11. end
复制代码
   
  5. 数据处理部门

   matlab
  1. o1D=o1.*H2D;         
  2. y=[o3.*H2D;o4.*H2D];
  3. w=[w3;w4];
  4. a=[a3;a4];
复制代码
   
  6. 图形绘制部门

   matlab
  1. % 第一个图:导杆角位移曲线和刨刀的位移曲线
  2. figure(1);
  3. yyaxis left
  4. plot(o1D,y);
  5. ylabel('\it\theta3,\theta4');
  6. yyaxis right
  7. plot(o1D,se);
  8. ylabel('Se')
  9. xlabel('\it\theta1');
  10. title('导杆角位移曲线和刨刀的位移曲线');
  11. axis auto;
  12. % 第二个图:导杆角速度曲线和刨刀的速度曲线
  13. figure(2);
  14. yyaxis left
  15. plot(o1D,w);
  16. ylabel('\it\omega3,\omega4');
  17. yyaxis right
  18. plot(o1D,ve);
  19. ylabel('Ve');
  20. xlabel('\it\theta1');
  21. title('导杆角速度曲线和刨刀的速度曲线');
  22. axis auto;
  23. % 第三个图:导杆的加速度线图和刨刀的加速度曲线
  24. figure(3);
  25. yyaxis left
  26. plot(o1D,a);
  27. ylabel('\it\alpha3,\alpha4');
  28. yyaxis right
  29. plot(o1D,ae);
  30. ylabel('\it\alphaE');
  31. xlabel('\it\theta 1');
  32. title('导杆的加速度线图和刨刀的加速度曲线');
  33. axis auto;
复制代码
   

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4