Matlab 曲柄滑块机构

发布时间: 更新时间: 总字数:1733 阅读时间:4m 作者: IP上海 分享 网址
专栏文章
  1. Matlab 小球绕跑道运动
  2. Matlab 台球模拟程序 动画演示
  3. Matlab 曲柄滑块机构(当前)
  4. Matlab 卫星绕地球旋转演示动画
  5. Matlab 电影动画(Rotate Peak)
  6. Matlab 太阳 地球 月亮 绕转演示动画
  7. 牛顿环演示的MATLAB程序

Matlab 曲柄滑块机构,曲柄滑块机构是指用曲柄和滑块来实现转动和移动相互转换的平面连杆机构。

代码

hf=figure('name','曲柄滑块机构');
set(hf,'color','g');
hold on
axis([-6,6,-4,4]);
grid  on
axis('off');
xa0=-5;%活塞左顶点坐标
xa1=-2.5;%活塞右顶点坐标
xb0=-2.5;%连杆左顶点坐标
xb1=2.2;%连杆右顶点坐标

x3=3.5;%转轮坐标
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],[0;0],'color','b','linestyle','-','linewidth',40);
%设置活塞
a3=line(x3,y3,'color',[0.5
0.6 0.3],'linestyle','.','markersize',300);%设置转轮
a2=line([xb0;xb1],[0;0],'color','black','linewidth',10);%设置连杆
a5=line(x5,y5,'color','black','linestyle','.','markersize',40);%设置连杆活塞连接头
a4=line(x4,y4,'color','black','linestyle','.','markersize',50);%设置连杆连接头
a6=line([xb1;x3],[0;0],'color','black','linestyle','-','linewidth',10);
a7=line(x3,0,'color','black','linestyle','.','markersize',50);%设置运动中心
a8=line([-5.1;-0.2],[0.7;0.7],'color','y','linestyle','-','linewidth',5);%设置汽缸壁
a9=line([-5.1;-0.2],[-0.72;-0.72],'color','y','linestyle','-','linewidth',5);%设置汽缸壁
a10=line([-5.1;-5.1],[-0.8;0.75],'color','y','linestyle','-','linewidth',5);%设置汽缸壁
a11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61],[a,b,c]);%设置汽缸气体

len1=4.8;%连杆长
len2=2.5;%活塞长
r=1.3;%运动半径
dt=0.015pi;
t=0;

while 1
    t=t+dt;
    if t2pi
        t=0;
    end

    lena1=sqrt((len1)^2-(rsin(t))^2);%连杆在运动过程中横轴上的有效长度
    rr1=rcos(t);%半径在运动过程中横轴上的有效长度
    xaa1=x3-sqrt(len1^2-(sin(t)r)^2)-(rcos(t));%活塞在运动过程中的右顶点坐标位置
    xaa0=xaa1-2.5;%%活塞在运动过程中的左顶点坐标位置
    x55=x3-cos(t)r;%连杆在运动过程中横坐标位置
    y55=y3-sin(t)r;%连杆在运动过程中纵坐标位置

    set(a4,'xdata',x55,'ydata',y55);%设置连杆顶点运动
    set(a1,'xdata',[xaa1-2.5;xaa1],'ydata',[0;0]);%设置活塞运动
    set(a2,'xdata',[xaa1;x55],'ydata',[0;y55]);
    set(a5,'xdata',xaa1);%设置活塞与连杆连接头的运动
    set(a6,'xdata',[x55;x3],'ydata',[y55;0]);
    set(a11,'xdata',[-5,xaa0,xaa0,-5]);%设置气体的填充
    set(gcf,'doublebuffer','on');%消除震动

    drawnow;
end

效果

Matlab 曲柄滑块机构

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数