资源描述:
《曲柄滑块机构的运动学matlab仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、代码实例[anim_zzy1.m]functionf=anim_zzy1(K,ki)%anim_zzy1.m演示红色小球沿一条封闭螺线运动的实时动画%仅演示实时动画的调用格式为anim_zzy1(K)%既演示实时动画又拍摄照片的调用格式为f=anim_zzy1(K,ki)%K红球运动的循环数(不小于1)%ki指定拍摄照片的瞬间,取1到1034间的任意整数。%f存储拍摄的照片数据,可用image(f.cdata)观察照片。%产生封闭的运动轨线t1=(0:1000)/1000*10*pi;x1=cos
2、(t1);y1=sin(t1);z1=-t1;t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;x=[x1x2x3x4];y=[y1y2y3y4];z=[z1z2z3z4];plot3(x,y,z,'b'),axisoff%绘制曲
3、线%定义"线"色、"点"型(点)、点的大小(40)、擦除方式(xor)h=line('Color',[100],'Marker','.','MarkerSize',40,'EraseMode','xor');%使小球运动n=length(x);i=1;j=1;while1%无穷循环set(h,'xdata',x(i),'ydata',y(i),'zdata',z(i));%小球位置drawnow;%刷新屏幕<21>pause(0.0005)%控制球速<22>i=i+1;ifnargin==2&na
4、rgout==1%仅当输入宗量为2、输出宗量为1时,才拍摄照片if(i==ki&j==1);f=getframe(gcf);end%拍摄i=ki时的照片<25>endifi>ni=1;j=j+1;ifj>K;break;endendend(2)在指令窗中运行以下指令,就可看到实时动画图形。f=anim_zzy1(2,450);(3)显示拍摄的照片image(f.cdata),axisoff%曲柄连杆机构充气球动画演示程序hf=figure('name','打气筒吹气球');set(hf,'colo
5、r','g');axis([-10,10,-4,4]);holdonaxisoff;%除掉坐标xa0=-2.5;%活塞左顶点坐标xa1=-1.8;%活塞右顶点坐标xb0=-2;%连杆左顶点坐标xb1=5;%连杆右顶点坐标x3=5.6;%转轮坐标y3=0;%转轮坐标x4=xb1;%设置连杆头的初始位置横坐标y4=0;%设置连杆头的初始位置纵坐标x5=xa1;y5=0;x6=x3;%设置连轴初始横坐标y6=0;%设置连轴初始纵坐标a=0.7;b=0.7;c=0.7;a1=line([xa0;xa1],
6、[0;0],'color','m','linestyle','-','linewidth',20);%设置活塞a8=line([-2.7;2.3],[0.3;0.3],'color','b','linestyle','-','linewidth',5);%设置打气筒a9=line([-2.6;2.3],[-0.3;-0.3],'color','b','linestyle','-','linewidth',5);%设置打气筒a10=line([-2.6;-2.6],[-0.1;-0.37],'col
7、or','b','linestyle','-','linewidth',5);%设置打气筒a11=line([2.0;2.0],[0.1;0.37],'color','b','linewidth',5);%设置打气筒a12=line([2.0;2.0],[-0.1;-0.37],'color','b','linewidth',5);%设置打气筒a13=line([-2.6;-2.6],[0.1;0.37],'color','b','linestyle','-','linewidth',5);%设置
8、打气筒a14=line([-2.7;-2.7],[0.1;-0.1],'color','b','linestyle','-','linewidth',9);%设置气筒嘴a16=line([-3.2;-3.2],[0.1;-0.1],'color','r','linestyle','-','linewidth',25);%设置气筒嘴a2=line([xb0;xb1],[0;0],'color','m','linewidth',5);%设置连杆a5=line(x5,y5,'color'