预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Matlab课程设计 李俊机自091 设计题目一:凸轮机构设计 已知轮廓为圆形的凸轮(圆的半径为100mm、偏心距为20mm),推杆与凸轮运动中心的距离20mm,滚子半径为10mm,请利用matlab仿真出凸轮推杆的运动轨迹和运动特性(速度,加速度),并利用动画演示出相关轨迹和运动特性。 %总程序代码 clc; clf; clear; p=figure('position',[1001001200600]); fori=1:360 %画圆形凸轮 R=100;%圆形凸轮半径 A=0:0.006:2*pi; B=i*pi/180; e=20;%偏心距 a=e*cos(B); b=e*sin(B); x=R*cos(A)+a; y=R*sin(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]) axisequal; axismanual; axisoff; holdon; plot(a,b,'og') plot(e,0,'or') plot(0,0,'or','LineWidth',3) %画滚子 gcx=0;%滚子中心X坐标 r=10;%滚子半径 gcy=sqrt((R+r)^2-a^2)+b;%滚子中心Y坐标 gx=r*cos(A)+gcx;%滚子X坐标 gy=r*sin(A)+gcy;%滚子Y坐标 plot(gx,gy,'b','LineWidth',2); %画其它部分 plot([0a],[0b],'k','LineWidth',4) plot([33],[170190],'m','LineWidth',4) plot([-3-3],[170190],'m','LineWidth',4) %画顶杆 gc=120; dgx=[00]; dgy=[gcygcy+gc]; plot(dgx,dgy,'LineWidth',4); holdoff %画位移图 sx(i)=B; sy(i)=gcy; subplot(3,2,2) plot(sx,sy,'b','LineWidth',3) title('位移线图') gridon holdoff; %画速度图 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('速度线图') gridon holdoff; %画加速度图 ax(i)=B; ay(i)=(40*cos(B).^2)./(121-4*cos(B).^2).^(1/2)-20*sin(B)-(40*sin(B).^2)/(121-4*cos(B).^2).^(1/2)-(160*cos(B).^2.*sin(B).^2)/(121-4*cos(B).^2).^(3/2); subplot(3,2,6) plot(ax,ay,'r','LineWidth',3),xlabel('B') title('加速度线图') gridon holdoff; M=getframe; end 截图 附:通过求导求速度和加速度 %求速度 symsB; a=e*cos(B); b=e*sin(B); s=sqrt((R+r).^2-a.^2)+b; v=diff(s) 结果:v=20*cos(B)+(40*cos(B)*sin(B))/(121-4*cos(B)^2)^(1/2) %求加速度 symsB; v=20*cos(B)+(40*cos(B)*sin(B))/(121-4*cos(B)^2)^(1/2); a=diff(v) 结果:a=(40*cos(B)^2)/(121-4*cos(B)^2)^(1/2)-20*sin(B)-(40*sin(B)^2)/(121-4*cos(B)^2)^(1/2)-(160*cos(B)^2*sin(B)^2)/(121-4*cos(B)^2)^(3/2)