matlab实现曲柄滑块机构的动画
曲柄滑块机构的数学模型
O点表示原点,A表示曲柄的另一端点(连杆的起点),B连杆的另一端点(与滑块相连点)
R为曲柄的长度,L为连杆的长度,th为曲柄与X轴的夹角,H为偏心距。
对于A点:
XA=R*cos(th)
YA=R*sin(th)
对于B点:
XB=?
YB=H
B点满足条件:L^2=(XA-XB)^2+(YA-YB)^2
XB=XA+sqrt(L^2-(YA-H)^2)
clear
clc
R=1;
L=2;
H=0.5;
th=linspace(0,10*pi,1001);
XA=R*cos(th);
YA=R*sin(th);
XB=XA+sqrt(L^2-(YA-H).^2);
for k=1:length(th) %动画
thk=th(k); %取角度中的第k个值
XAk=R*cos(thk);
YAk=R*sin(thk);
YBk=H;
XBk=XAk+sqrt(L^2-(YAk-H)^2);
XOk=0; %定义原点
YOk=0;
plot(XOk,YOk,'ko');
hold on
plot(XAk,YAk,'ko');
plot(XBk,YBk,'ko');
plot(,,'r'); %各点连线
plot(XBk+[-1,1,1,-1,-1]*R/4,YBk+*R/4,'b'); %画出滑块
plot(,(H-R/4)*);%地面
axis([-2,2,-2,2])
axis off
axis equal
hold off
pause(0.001); %控制画面的延迟时间
end
AM=max(XB)-min(XB) %行程
页:
[1]