《计算机仿真技术 matlab》由会员分享,可在线阅读,更多相关《计算机仿真技术 matlab(10页珍藏版)》请在金锄头文库上搜索。
1、计算机仿真技术课程作业题目凸轮机构设计学院:机电学院专业:机械工程及自动化年级班级:学生姓名:学 号:指导教师:日 期:2013年6月15日昆明理工大学目录1 设计任务 22 设计过程 23.1 总程序代码53.2 求解速度加速度74 运行结果 75 建议意见和感想 8凸轮机构设计1 设计任务圆形凸轮机构如下图所示,其中凸轮半径为100mm,滚子半径20mm, 旋转偏心距为50mm,顶针长度为120mm。请利用matlab动画仿真出该 凸轮机构的运动过程和对应的运动特性(位移、速度、加速度)。2 设计过程1. Gui 设计11新建GUI:菜单-新建-gui,并保存为test61.2界面设计:拖
2、拽左侧h图标到绘图区,创建GUI界面拖拽左侧图标值绘图区T由中 pushbuUDnlCunrenl Paint: 431,4Position: 15fl 工监 134 蜩3山DHrarm口罰s說_ 1 _ 1Push Eb1jEn1.3 代码添加:进入代码界面3.1 总程序代码clc;clf;clear;p=figure(position,100 100 1200 600); for i=1:360 %画圆形凸轮R=100;%圆形凸轮半径A=0:0.006:2*pi;B=i*pi/180;e=50;%偏心距a=e*cos(B);b=e*sin(B); x=R*cos(A)+a; y=R*sin
3、(A)+b;subplot(1,2,1) plot(x,y,b,LineWidth,3);%填充fill(x,y,y) axis(-R-e,R+e,-R-e,R+e+100); set(gca,Xlim,-R-e,R+e) set(gca,Ylim,-R-e,R+e+100) axis equal;axis manual;axis off;hold on; plot(a,b,og) plot(e,0,or) plot(0,0,or,LineWidth,3) %画滚子gcx=0;%滚子中心 X 坐标r=20;%滚子半径gcy=sqrt(R+r)人2-a2)+b;%滚子中心 Y 坐标gx=r*co
4、s(A)+gcx;%滚子 X 坐标gy=r*sin(A)+gcy;%滚子 Y 坐标plot(gx,gy,b,LineWidth,2);%画其它部分plot(0 a,0 b,k,LineWidth,4)plot(3 3,170 190,m,LineWidth,4) plot(-3 -3,170 190,m,LineWidth,4) %画顶杆 gc=120;dgx=0 0;dgy=gcy gcy+gc; plot(dgx,dgy,LineWidth,4); hold off %画位移图sx(i)=B;sy(i)=gcy; subplot(3,2,2)plot(sx,sy,b,LineWidth,3
5、)title(位移线图)grid on hold off;%画速度图vx(i)=B;vy(i)=20*cos(B) + (40*cos(B).*sin(B)./(121 - 4*cos(B).人2).人(1/2); subplot(3,2,4)plot(vx,vy,g,LineWidth,3)title (速度线图)grid on hold off;%画加速度图ax(i)=B;ay(i)=(40*cos(B).A2)./(121 - 4*cos(B).A2).A(1/2) - 20*sin(B) - (40*sin(B).A2)/(121 -4*cos(B).A2).A(1/2) - (160
6、*cos(B).A2.*sin(B).A2)/(121 - 4*cos(B).a2).a(3/2);subplot(3,2,6) plot(ax,ay,r,LineWidth,3),xlabel(B) title(加速度线图)grid on hold off;M=getframe;end3.2:通过求导求速度和加速度%求速度syms B;a=e*cos(B);b=e*sin(B);s=sqrt(R+r).人2-a42)+b;v=diff(s)结果:v =20*cos(B) + (40*cos(B)*sin(B)/(121 - 4*cos(B)A2)A(1/2)%求加速度syms B;v =20
7、*cos(B) + (40*cos(B)*sin(B)/(121 - 4*cos(B)A2)A(1/2);a=diff(v)结果: a =(40*cos(B)A2)/(121 - 4*cos(B)A2)A(1/2) - 20*sin(B) - (40*sin(B)A2)/(121 - 4*cos(B)A2)A(1/2) - (160*cos(B)A2*sin(B)A2)/(121 - 4*cos(B)A2)A(3/2)4 运行结果图动画效果截图5 建议意见和感想通过一个学期的课程学习和编程实践,我受益良多,在更深刻理解了 课上学习内容的同时,对mat lab的熟悉程度也有较大提高。这次程序设 计,让我对问题的分析能力有了较大提升,同时也认清了自身的不足, 很多想法仍没有能力实现,希望在今后再做提高。感谢刘老师的悉心指 导,我也从老师身上学到了很多学习此门课程的方法。要注重理论与实 践课程的学习。周 四 圣2013 年 6 月 15日