双滑块机构MATLAB演示.docx
《双滑块机构MATLAB演示.docx》由会员分享,可在线阅读,更多相关《双滑块机构MATLAB演示.docx(9页珍藏版)》请在冰豆网上搜索。
双滑块机构MATLAB演示
%双滑块机构MATLAB演示
closeall
h=figure;
set(gcf,'outerposition',get(0,'screensize'));%窗口最大化操作
r=5;
l=3;
phi0=30*pi/180;
alfa=30*pi/180;
[rlphi0*180/pialfa*180/pi]
X1=0;
Y1=0;
X2=r*cos(phi0);
Y2=r*sin(phi0);
X3=2*X2;
Y3=0;
X4=0;
Y4=2*Y2;
phi=-phi0+alfa;
X5=X2+l*cos(phi);
Y5=Y2+l*sin(phi);
x=[X1X2X3X4X2X5];
y=[1:
6];
y=[Y1Y2Y3Y4Y2Y5];
xs=[X3X4];
ys=[1:
2];
ys=[Y3Y4];
subplot(2,2,1);
holdon
lineH=plot(x,y,'b-','EraseMode','xor','linewidth',2);axisimage
rondH=plot(x,y,'ko','EraseMode','xor');axisimage
sqH=plot(xs,ys,'msquare','EraseMode','xor','linewidth',3);axisimage
dotH=plot(X2,Y2,'r.','EraseMode','none');axisimage
dotD=plot(X5,Y5,'c.','EraseMode','none');axisimage
axis([-1212-1212]);
gridon
N=10000;
X2=[1:
N+1];y2=[1:
N+1];
x5=[1:
N+1];y5=[1:
N+1];
fori=0:
N
X2=r*cos(phi0+2*pi*i/N);
Y2=r*sin(phi0+2*pi*i/N);
X3=2*X2;
Y4=2*Y2;
%phi=-phi0+alfa
X5=X2+l*cos(phi-2*pi*i/N);
Y5=Y2+l*sin(phi-2*pi*i/N);
xd=[X1X2X3X4X2X5];
yd=[1:
6];yd=[Y1Y2Y3Y4Y2Y5];
xsd=[X3X4];
ysd=[1:
2];
ysd=[Y3Y4];
x2(i+1)=X2;y2(i+1)=Y2;
x5(i+1)=X5;y5(i+1)=Y5;
set(lineH,'xdata',xd,'ydata',yd);
set(rondH,'xdata',xd,'ydata',yd);
set(sqH,'xdata',xsd,'ydata',ysd);
set(dotH,'xdata',X2,'ydata',Y2);
set(dotD,'xdata',X5,'ydata',Y5);
drawnow
end
plot(x2,y2,'r-','linewidth',3);axisimage
plot(x5,y5,'c-','linewidth',3);axisimage
axis([-1212-1212]);
gridon
%此外,MATLAB也可对图形加上各种注解与处理:
text(-10,-10,'王允地编双滑块机构分析程序');%x,y处插入文字
xlabel('横轴x');%x轴注解
ylabel('纵轴y');%y轴注解
title('双滑块机构动态演示');%图形标题
legend('杆件','铰链','滑块','动铰轨迹','杆点轨迹');
alfa=60*pi/180;
[rlphi0*180/pialfa*180/pi]
phi=-phi0+alfa;
X5=X2+l*cos(phi);
Y5=Y2+l*sin(phi);
x=[X1X2X3X4X2X5];
y=[1:
6];y=[Y1Y2Y3Y4Y2Y5];
subplot(2,2,2);
holdon
lineH=plot(x,y,'b-','EraseMode','xor','linewidth',2);axisimage
rondH=plot(x,y,'ko','EraseMode','xor');axisimage
sqH=plot(xs,ys,'msquare','EraseMode','xor','linewidth',3);axisimage
dotH=plot(X2,Y2,'r.','EraseMode','none');axisimage
dotD=plot(X5,Y5,'c.','EraseMode','none');axisimage
axis([-1212-1212]);
gridon
%N=10000;
fori=0:
N
X2=r*cos(phi0+2*pi*i/N);
Y2=r*sin(phi0+2*pi*i/N);
X3=2*X2;Y4=2*Y2;
%phi=-phi0+alfa
X5=X2+l*cos(phi-2*pi*i/N);
Y5=Y2+l*sin(phi-2*pi*i/N);
xd=[X1X2X3X4X2X5];
yd=[1:
6];yd=[Y1Y2Y3Y4Y2Y5];
xsd=[X3X4];
ysd=[1:
2];ysd=[Y3Y4];
x2(i+1)=X2;y2(i+1)=Y2;
x5(i+1)=X5;y5(i+1)=Y5;
set(lineH,'xdata',xd,'ydata',yd);
set(rondH,'xdata',xd,'ydata',yd);
set(sqH,'xdata',xsd,'ydata',ysd);
set(dotH,'xdata',X2,'ydata',Y2);
set(dotD,'xdata',X5,'ydata',Y5);
drawnow
end
plot(x2,y2,'r-','linewidth',3);axisimage
plot(x5,y5,'c-','linewidth',3);axisimage
axis([-1212-1212]);
gridon
%此外,MATLAB也可对图形加上各种注解与处理:
%text(-10,-10,'王允地编双滑块机构分析程序');%x,y处插入文字
xlabel('横轴x');%x轴注解
ylabel('纵轴y');%y轴注解
title('双滑块机构动态演示');%图形标题
%legend('杆件','铰链','滑块','动铰轨迹','杆点轨迹');
alfa=90*pi/180;
[rlphi0*180/pialfa*180/pi]
phi=-phi0+alfa;
X5=X2+l*cos(phi);
Y5=Y2+l*sin(phi);
x=[X1X2X3X4X2X5];
y=[1:
6];y=[Y1Y2Y3Y4Y2Y5];
subplot(2,2,3);
holdon
lineH=plot(x,y,'b-','EraseMode','xor','linewidth',2);axisimage
rondH=plot(x,y,'ko','EraseMode','xor');axisimage
sqH=plot(xs,ys,'msquare','EraseMode','xor','linewidth',3);axisimage
dotH=plot(X2,Y2,'r.','EraseMode','none');axisimage
dotD=plot(X5,Y5,'c.','EraseMode','none');axisimage
axis([-1212-1212]);
gridon
%N=10000;
fori=0:
N
X2=r*cos(phi0+2*pi*i/N);
Y2=r*sin(phi0+2*pi*i/N);
X3=2*X2;Y4=2*Y2;
%phi=-phi0+alfa
X5=X2+l*cos(phi-2*pi*i/N);
Y5=Y2+l*sin(phi-2*pi*i/N);
xd=[X1X2X3X4X2X5];
yd=[1:
6];yd=[Y1Y2Y3Y4Y2Y5];
xsd=[X3X4];
ysd=[1:
2];ysd=[Y3Y4];
x2(i+1)=X2;y2(i+1)=Y2;
x5(i+1)=X5;y5(i+1)=Y5;
set(lineH,'xdata',xd,'ydata',yd);
set(rondH,'xdata',xd,'ydata',yd);
set(sqH,'xdata',xsd,'ydata',ysd);
set(dotH,'xdata',X2,'ydata',Y2);
set(dotD,'xdata',X5,'ydata',Y5);
drawnow
end
plot(x2,y2,'r-','linewidth',3);axisimage
plot(x5,y5,'c-','linewidth',3);axisimage
axis([-1212-1212]);
gridon
%此外,MATLAB也可对图形加上各种注解与处理:
%text(-10,-10,'王允地编双滑块机构分析程序');%x,y处插入文字
xlabel('横轴x');%x轴注解
ylabel('纵轴y');%y轴注解
title('双滑块机构动态演示');%图形标题
%legend('杆件','铰链','滑块','动铰轨迹','杆点轨迹');
alfa=120*pi/180;
[rlphi0*180/pialfa*180/pi]
phi=-phi0+alfa;
X5=X2+l*cos(phi);
Y5=Y2+l*sin(phi);
x=[X1X2X3X4X2X5];
y=[1:
6];y=[Y1Y2Y3Y4Y2Y5];
subplot(2,2,4);
holdon
lineH=plot(x,y,'b-','EraseMode','xor','linewidth',2);axisimage
rondH=plot(x,y,'ko','EraseMode','xor');axisimage
sqH=plot(xs,ys,'msquare','EraseMode','xor','linewidth',3);axisimage
dotH=plot(X2,Y2,'r.','EraseMode','none');axisimage
dotD=plot(X5,Y5,'c.','EraseMode','none');axisimage
axis([-1212-1212]);
gridon
%N=10000;
%此外,MATLAB也可对图形加上各种注解与处理:
%text(-10,-10,'王允地编双滑块机构分析程序');%x,y处插入文字
xlabel('横轴x');%x轴注解
ylabel('纵轴y');%y轴注解
title('双滑块机构动态演示');%图形标题
%legend('杆件','铰链','滑块','动铰轨迹','杆点轨迹');
fori=0:
N
X2=r*cos(phi0+2*pi*i/N);
Y2=r*sin(phi0+2*pi*i/N);
X3=2*X2;Y4=2*Y2;
%phi=-phi0+alfa
X5=X2+l*cos(phi-2*pi*i/N);
Y5=Y2+l*sin(phi-2*pi*i/N);
xd=[X1X2X3X4X2X5];
yd=[1:
6];yd=[Y1Y2Y3Y4Y2Y5];
xsd=[X3X4];
ysd=[1:
2];ysd=[Y3Y4];
set(lineH,'xdata',xd,'ydata',yd);
set(rondH,'xdata',xd,'ydata',yd);
set(sqH,'xdata',xsd,'ydata',ysd);
set(dotH,'xdata',X2,'ydata',Y2);
set(dotD,'xdata',X5,'ydata',Y5);
drawnow
end
双滑块机构动态演示
圆半径r=5点心距l=3曲柄初相角φ0=30°α=30°~120°
MATLAB6.5
MATLAB7