4
function [xx,yy,x,t2] = blogpiston(t1,x,t2) %Tolerancia e e=0.001; %Dimensiones del sistema lm=35; lb=56; %estimaciones % x=70; % t2=30*pi/180; %definicion de F f1=lm*sin(t1)-lb*sin(t2); f2=lm*cos(t1)+lb*cos(t2)-x; while abs(f1)>e | abs(f2)>e df1x=0; df1t2=-lb*cos(t2); df2x=-1; df2t2=-lb*sin(t2); A=[df1x,df1t2;df2x,df2t2]; B=[-f1;-f2]; X=A\B; if X==[0;0] break end x=x+X(1); t2=t2+X(2); %definicion de F con los nuevos x y t2 f1=lm*sin(t1)-lb*sin(t2); f2=lm*cos(t1)+lb*cos(t2)-x; end xx=[0,lm*sin(t1),0]; yy=[0,lm*cos(t1),x]; paso=6*pi/180; nc=100; t1=pi/4; x=70; t2=30*pi/180; %definicion de los vecotres para guardar los puntos X=[0,0,0]; Y=X; XP=[0,0,0,0,0]; YP=XP; %calculo para cada posicion for i=1:nc

biela manivela

Embed Size (px)

DESCRIPTION

matlab, c++, visual, comic, tareas, diarrea

Citation preview

Page 1: biela manivela

function [xx,yy,x,t2] = blogpiston(t1,x,t2)

%Tolerancia ee=0.001;%Dimensiones del sistemalm=35;lb=56;

%estimaciones% x=70;% t2=30*pi/180;%definicion de Ff1=lm*sin(t1)-lb*sin(t2);f2=lm*cos(t1)+lb*cos(t2)-x;while abs(f1)>e | abs(f2)>e df1x=0; df1t2=-lb*cos(t2); df2x=-1; df2t2=-lb*sin(t2); A=[df1x,df1t2;df2x,df2t2]; B=[-f1;-f2]; X=A\B; if X==[0;0] break end x=x+X(1); t2=t2+X(2); %definicion de F con los nuevos x y t2 f1=lm*sin(t1)-lb*sin(t2); f2=lm*cos(t1)+lb*cos(t2)-x;end

xx=[0,lm*sin(t1),0];yy=[0,lm*cos(t1),x];

paso=6*pi/180;nc=100;t1=pi/4;x=70;t2=30*pi/180;%definicion de los vecotres para guardar los puntosX=[0,0,0];Y=X;XP=[0,0,0,0,0];YP=XP;%calculo para cada posicionfor i=1:nc [xx,yy,x,t2] = blogpiston(t1,x,t2); X(i,:)=xx; Y(i,:)=yy; t1=t1+paso; %cuadrado para simular piston (Es para que se vea bonito ) [xx,yy]=cuad(xx(3),yy(3),5,0); XP(i,:)=xx; YP(i,:)=yy; %

Page 2: biela manivela

end%grafico/animacionfor i=1:nc

%Marco para la pantalla plot(-100,-100) hold on plot(100,100) %malla plot(X(i,:),Y(i,:),'-o') %cuadrado piston plot(XP(i,:),YP(i,:)) %tiempode pausa pause(.1) hold off

end

function [X,Y]=cuad(x,y,e,a);% X=[x-e,x+e,x+e,x-e,x-e];% Y=[y-e,y-e,y+e,y+e,y-e];%X=[x-e*sqrt(2)*sin(a),x+e*sqrt(2)*sin(a),x+e*sqrt(2)*sin(a),x-e*sqrt(2)*sin(a),x-e*sqrt(2)*sin(a)];%Y=[y-e*sqrt(2)*cos(a),y-e*sqrt(2)*cos(a),y+e*sqrt(2)*cos(a),y+e*sqrt(2)*cos(a),y-e*sqrt(2)*cos(a)];r=e*sqrt(2);b=pi/4-a;X=[x-r*sin(b),x+r*cos(b),x+r*sin(b),x-r*cos(b),x-r*sin(b)];Y=[y-r*cos(b),y-r*sin(b),y+r*cos(b),y+r*sin(b),y-r*cos(b)];

clc; clear all;

disp('programa obtener teta manivela 2 puntos');

lb=input('ingrese lb=');

lm=input('ingrese lm=');

Mm=input('ingrese masa manivela=');

Mb=input('Ingrese masa biela=');

for m=0:1:90

if lm/lb<=1

Im=((1/12)*50*200^3);

b=asind((lm/lb)*sind(m));

Bx=0.018*m;

By=0;

Ax=-Bx;

Page 3: biela manivela

Ay=-By;

mii=(((lm/2)*sind(m)*Ax)-((lm/2)*cosd(m)*Ay)-((lm/2)*sind(m)*Bx)+((lm/2)*cosd(m)*By-5000))/Im;

else

fprintf('No se puede')

end

plot(mii,b,'r');

grid on

hold on

end

clc; clear all;

disp('programa para obtener Teta de biela dos puntos);

lb=input('ingrese lb=');

lm=input('ingrese lm=');

Mm=input('ingrese masa manivela=');

Mb=input('Ingrese masa biela=');

Ib=Input('Ingrese la inercia=');

for m=1:1:360

if lm/lb<=1

b=asind((lm/lb)*sind(m));

Ax=-Bx;

Ay=-By;

bii=(((lb/2)*sind(b)*Bx)+((lb/2)*cosd(b)*By))/Ib;

else

fprintf('No se puede')

end

plot(m,b,'r');

grid on

Page 4: biela manivela

hold on

end