Buscar

Mecanismodequatrobarras

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

clear all
clc
close all
AB = 0.15;
BC = 0.35;
CD = 0.30;
CE = 0.15;
xA=0; yA=0;
xD=0.3; yD=0.3;
incremento = 0;
for phi=0:pi/10:2*pi,
 xB=AB*cos(phi); yB=AB*sin(phi);
 eqnC1='BC^2=(xC-xB)^2+(yC-yB)^2';
 eqnC2='CD^2=(xC-xD)^2+(yC-yD)^2';
 solC=solve(eqnC1,eqnC2,'xC','yC');
 xCposicao=eval(solC.xC);
 yCposicao=eval(solC.yC);
 xC1=xCposicao(1);
 xC2=xCposicao(2);
 yC1=yCposicao(1);
 yC2=yCposicao(2);
 if xC2 < xD 
 xC = xC2;
 yC = yC2;
 else xC = xC1;
 yC = yC1;
 end
 
eqnE1='(xE-xC)^2 + (yE-yC)^2=CE^2 ';
eqnE2='(yC-yD)/(xC-xD)=(yE-yC)/(xE-xC)';
solE = solve(eqnE1, eqnE2, 'xE, yE');
xEpositions = eval(solE.xE);
yEpositions = eval(solE.yE);
xE1 = xEpositions(1); xE2 = xEpositions(2);
yE1 = yEpositions(1); yE2 = yEpositions(2);
if xE1 < xC 
 xE = xE1; 
 yE=yE1;
else xE = xE2; 
 yE=yE2; 
end
incremento = incremento + 1;
xCmedio(incremento)= (xB+xC)/2;
yCmedio(incremento)= (yB+yC)/2;
 
 subplot(2,1,1)
 plot([xA,xB],[yA,yB],'b-',[xB,xC],[yB,yC],'r-',...
 [xD,xC],[yD,yC],'y-',[xC,xE],[yC,yE],'b-')
 hold on
 xlabel('x(m)')
 ylabel('y(m)')
 grid
 axis([-0.2 0.35 -0.25 0.7])
 title('Posição do mecanismo de 4 barras')
 text(xCmedio,yCmedio,'C2')
end
subplot(2,1,2)
plot(xCmedio,yCmedio,'r-o')
xlabel('x(m)')
ylabel('y(m)')
title('Caminho do ponto médio da barra BC') 
grid

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando