matlab四杆机构仿真分析

clc;
clear;
close all;
format SHORTG
a=50;% Crank
b=70;% Coupler Link 
c=90 %Output Link
d=100;% fixed Link 
e=33;% CouplerExtension
alpha=40;% Coupler Extenstion Angle 
ar=alpha*pi/180;% Degree to radian of Coupler Extenstion Angle 
theta=50:1:410;% Initial angle with limit of rotation 
T=theta*pi/180;% Degree to radian of Initial angle 
f=sqrt(a*a+d*d-2*a*d* cos(T));

%% Section 2: Calculations
% Angles and Coupler curve Coordinates
%%
for i=1: length(theta)
%calculation of Angles 
G(i)=atan((a* sin(T(i)))/(d-a* cos(T(i))));
Bita(i)=acos((f(i).*f(1,i)+b*b-c*c)/(2*b*f(i)))-G(i);
%Coordinates
X(i)=a*cos(T(i))+e*cos(ar+Bita(i));
Y(i)=a*sin(T(i))+e*sin(ar+Bita(i));

%%Section 3:Plotting and Animation

hold on;
title('FourBar Coupler curve plotting')
xlim([-60,120])
ylim([-60,120])
plot(X,Y,'b','Linewidth',1)

Trace=viscircles([X(i) Y(i)],2,'color','k'); 

Cx=[0 a*cos(T(i)) b*cos(Bita(i))+a*cos(T(i)) d a*cos(T(i))+e*cos(Bita(i)+ar)];
Cy=[0 a*sin(T(i)) b*sin(Bita(i))+a*sin(T(i)) 0 a*sin(T(i))+e*sin(Bita(i)+ar)];

crank=line([0 Cx(2)],[0 Cy(2)],'color','r','linewidth',5);%tlink 1
coupler=line([Cx(2) Cx(3)],[Cy(2) Cy(3)],'color','g','linewidth',5);%tlink 2
output=line([Cx(3) d],[Cy(3) 0],'color','y','linewidth',5);%tlink 3
fix=line([0 d],[0 0],'color','k','linewidth',5);%link4
eline=line([Cx(2) Cx(5)],[Cy(2) Cy(5)],'color','c','linewidth',3);
eoline=line([Cx(5) Cx(3)],[Cy(5) Cy(3)],'color','c','linewidth',3);%link e joint

%Animation of Plotting by Deleting the previous plotting

pause(0.005)
delete(crank)
delete(coupler)
delete(output)
delete(eline)
delete(eoline)
delete(Trace)
end

% Back to Initial Position 
crank=line([0 Cx(2)],[0 Cy(2)],'color','r','linewidth',5);%link 1

coupler=line([Cx(2) Cx(3)],[Cy(2) Cy(3)],'color','g','linewidth',5);%link 2

output=line([Cx(3) d],[Cy(3) 0],'color','y','linewidth',5);%link3

fix=line([0 d],[0 0],'color','k','linewidth',5);%links  4

eline=line([Cx(2) Cx(5)],[Cy(2) Cy(5)],'color','c','linewidth',3); 
eoline=line([Cx(5) Cx(3)],[Cy(5) Cy(3)],'color','c','linewidth',3);%link e joint

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值