数学建模社区-数学中国
标题:
matlab实现曲柄滑块机构的动画
[打印本页]
作者:
595894385
时间:
2012-11-13 12:38
标题:
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([XOk,XAk,XBk],[YOk,YAk,YBk],'r'); %各点连线
plot(XBk+[-1,1,1,-1,-1]*R/4,YBk+[1,1,-1,-1,1]*R/4,'b'); %画出滑块
plot([0.5,3.5],(H-R/4)*[1,1]);%地面
axis([-2,2,-2,2])
axis off
axis equal
hold off
pause(0.001); %控制画面的延迟时间
end
AM=max(XB)-min(XB) %行程
untitled.fig
2012-11-13 12:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
3.34 KB, 下载次数: 6, 下载积分: 体力 -2 点
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5