Professional Documents
Culture Documents
x=1;
while x<3;
disp(' Menu ');
disp('1. Solucion a una ecuacion cuadratica')
disp('2. Graficar datos desde una matriz')
disp('3. Salir')
switch x
case 1
y=1;
while (y<2)
disp('SOLUCION DE La ECUACION CUADRATICA');
a = input('Ingrese dato A;');
b = input('Ingrese dato b;');
c = input('Ingrese dato c;');
x1 = (-b+sqrt(b^2-4*a*c))/(2*a);
x2 = (-b-sqrt(b^2-4*a*c))/(2*a);
disp('X1 ='),disp(x1),
disp('X2 ='),disp(x2),
disp('1. Continuar')
disp('2. Regreasr al menu anterior')
disp('3. Salir')
y = input('Seleccione una opcion:');
switch y
case 1
y=1;
case 2
y=2;
case 3
x=3;
end
end
case 2
f=1;
while (f<2);
disp('GRAFICO DE DATOS DESDE UNA MATRIZ');
a = input('Ingrese dato x1:');
b = input('Ingrese dato x2:');
x= [a:b];
y=x.^2;
figure(1);
plot(x,y);
case 3
x=3;
end
end
MENU PRINCIPAL
x=1;
while (x<5);
switch x
case 1
disp('****************************');
disp('****ANALISIS DE POSICION****');
disp('****************************');
case 2
x=1;
while x<4;
disp('****************************');
disp('****ANALISIS DE POSICION****');
disp('****************************');
switch x
case 1
x=1;
while (x<2)
disp ('****')
c=a+b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 2
x=1;
while (x<2);
disp ('*****')
c=a-b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 3
x=1;
while (x<2);
disp ('**************')
c=a*b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 4
break
case 5
x=5;
end
end
case 3
x=1;
while x<4;
disp('****************************');
disp('****ANALISIS DE POSICION****');
disp('****************************');
switch x
case 1
x=1;
while (x<2)
disp ('****')
c=a+b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 2
x=1;
while (x<2);
disp ('*****')
c=a-b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 3
x=1;
while (x<2);
disp ('MULTIPLICACION ')
disp ('**************')
c=a*b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 4
break
case 5
x=5;
end
end
case 4
x=1;
while x<4;
disp('****************************');
disp('****ANALISIS DE POSICION****');
disp('****************************');
switch x
case 1
x=1;
while (x<2)
disp ('****')
c=a+b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 2
x=1;
while (x<2);
disp ('*****')
c=a-b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 3
x=1;
while (x<2);
disp ('**************')
c=a*b;
disp('1. Continuar')
disp('3. Salir')
switch x
case 1
x=1;
case 2
break
case 3
x=5;
end
end
case 4
break
case 5
x=5;
end
end
case 5
break
end
end
fprintf('INGRESE DATOS:\n');
teta31=asind((m*sind(teta2)-c)/b)
teta32=m*cosd(teta2)-b*cosd(teta31);
d2=180-(teta31);
d1=m*cosd(teta2)-b*cosd(d2)
switch true
case 1
clc
menuposicion
case 2
clc
manivelacorredera
case 3
otherwise
clc
menudetodo
end
fprintf('INGRESE DATOS:\n');
w=-b*sind(Gamma)-(-a*sind(teta2)*cosd(Gamma)-c*sind(Gamma)+a*cosd(teta2)*sind(Gamma));
r=(a*sind(teta2)*sind(Gamma)-c*cosd(Gamma)+a*cosd(teta2)*cosd(Gamma))*2;
q=-b*sind(Gamma)+(-a*sind(teta2)*cosd(Gamma)-c*sind(Gamma)+a*cosd(teta2)*sind(Gamma));
x1=(-r+(r^2-4*w*q)^(1/2))/(2*w);
x2=(-r-(r^2-4*w*q)^(1/2))/(2*w);
teta41=atand(x1)*2
teta42=atand(x2)*2
teta31=teta41+Gamma
teta32= teta42-Gamma
d1=(-b*sind(teta41)+a*sind(teta2))/(sind(teta31))
d2=(-b*sind(teta42)+a*sind(teta2))/(sind(teta32))
switch true
case 1
clc
menuposicion
case 2
clc
correderainvertida
case 3
otherwise
clc
menudetodo
end
ANALISIS DE POSICION MANIVELA BALANCIN
fprintf('INGRESE DATOS:\n');
e=b^2-d^2-a^2-c^2+2*d*a*cosd(teta2);
q=2*c*(d-a*cosd(teta2));
w=2*a*c*sind(teta2);
x1=(-w+((w^2-(e^2-q^2))^(1/2)))/(e+q);
x2=(-w-((w^2-(e^2-q^2))^(1/2)))/(e+q);
teta41=2*atand(x1)
teta42=2*atand(x2)
teta31=asind((c*sind(teta41)-a*sind(teta2))/b)
teta32=-180-(asind((c*sind(teta42)-a*sind(teta2))/b))
switch true
case 1
clc
menuposicion
case 2
clc
balancin1
case 3
clc
menudetodo
end
format bank;
a= input('manivela: ');
c= input('corredera : ');
d= input('bancada: ');
resp=zeros(360,7);
for x=1:1:360
teta2=x;
R=((a*cosd(teta2)*cosd(gama))+(a*sind(teta2)*sind(gama))-(d*cosd(gama)));
S=((a*cosd(teta2)*sind(gama))-(a*sind(teta2)*cosd(gama))-(d*sind(gama)));
T=(-c*sind(gama));
M=T-S;
N=2*R;
K=T+S;
X1=(-N+(sqrt((N^2)-(4*M*K))))/(2*M);
X2=(-N-(sqrt((N^2)-(4*M*K))))/(2*M);
teta41=2*atand(X1);
teta42=2*atand(X2);
teta31=teta41+gama;
teta32=teta42-gama;
b1=(a*sind(teta2)-c*sind(teta41))/sind(teta31);
b2=(a*sind(teta2)-c*sind(teta42))/sind(teta32);
w31=(a*w2*cosd(teta2-teta31))/(b1+(c*cosd(gama)));
w32=(a*w2*cosd(teta2-teta32))/(b2+(c*cosd(gama)));
vb1=((w31*b1*sind(teta31)+w31*c*sind(teta41))-a*w2*sind(teta2))/(cosd(teta31));
vb2=((w32*(b2*sind(teta32)+c*sind(teta42))-a*w2*sind(teta2))/(cosd(teta32)));
w41=w31;
w42=w32;
H1=-a*(w2^2)*cosd(teta2)-
a*acel2*sind(teta2)+2*vb1*w31*sind(teta31)+b1*(w31^2)*cosd(teta31)+c*(w41^2)*cosd(teta41);
I1=b1*sind(teta31)+c*sind(teta41);
Y1=-a*(w2^2)*sind(teta2)+a*acel2*cosd(teta2)-
2*vb1*w31*cosd(teta31)+b1*(w31^2)*sind(teta31)+c*(w41^2)*sind(teta41);
Z1=b1*cosd(teta31)+c*cosd(teta41);
H2=-a*(w2^2)*cosd(teta2)-
a*acel2*sind(teta2)+2*vb2*w32*sind(teta32)+b2*(w32^2)*cosd(teta32)+c*(w42^2)*cosd(teta42);
I2=b2*sind(teta32)+c*sind(teta42);
Y2=-a*(w2^2)*sind(teta2)+a*acel2*cosd(teta2)-
2*vb2*w32*cosd(teta32)+b2*(w32^2)*sind(teta32)+c*(w42^2)*sind(teta42);
Z2=b2*cosd(teta32)+c*cosd(teta42);
acel31=(Y1*cosd(teta31)-H1*sind(teta31))/(I1*sind(teta31)+Z1*cosd(teta31));
%alpha
acel32=(Y2*cosd(teta32)-H2*sind(teta32))/(I2*sind(teta32)+Z2*cosd(teta32));
acel41=acel31;
ATB=(Y1-Z1*acel31)/(sind(teta31));
j=sqrt(-1);
Aa2t=a*acel2*j*(cosd(teta2)+j*sind(teta2));
Aa2n=-a*w2^2*(cosd(teta2)+j*sind(teta2));
Aa3t=c*acel41*j*(cosd(teta41)+j*sind(teta41));
Aa3n=-c*w41^2*(cosd(teta41)+j*sind(teta41));
Aa4t=b2*acel31*j*(cosd(teta31)+j*sind(teta31));
Aa4n=a*w31^2*(cosd(teta31)+j*sind(teta31));
resp(x,1)=teta2;
resp(x,2)=acel31;
resp(x,3)=ATB;
resp(x,4)=Aa2t;
resp(x,5)=Aa2n;
resp(x,6)=Aa3t;
resp(x,7)=Aa3n;
end
fprintf('INGRESE DATOS:\n');
e=b^2-d^2-a^2-c^2+2*d*a*cosd(teta2);
q=2*c*(d-a*cosd(teta2));
w=2*a*c*sind(teta2);
x1=(-w+((w^2-(e^2-q^2))^(1/2)))/(e+q);
x2=(-w-((w^2-(e^2-q^2))^(1/2)))/(e+q);
teta41=2*atand(x1);
teta42=2*atand(x2);
teta31=asind((c*sind(teta41)-a*sind(teta2))/b);
teta32=-180-(asind((c*sind(teta42)-a*sind(teta2))/b));
w3=(a*w2*sind(teta41-teta2))./(b*sind(teta31-teta41))
w4=(a*w2*sind(teta2-teta31))./(c*sind(teta41-teta31))
velosidad_a=(a*w2*cosd(teta2)*j)-(a*w2*sind(teta2))
velosidad_ba=(b*w3*cosd(teta31)*j)-(b*w3*sind(teta31))
velosidad_b=(c*w4*cosd(teta41)*j)-(c*w4*sind(teta41))
switch true
case 1
clc
menudevelosidad
case 2
clc
velosidadmanivelabalancin
case 3
otherwise
clc
menudetodo
end
fprintf('INGRESE DATOS:\n');
o=zeros(360,5);
for xx=1:1:360;
teta2=xx;
w=-b*sind(Gamma)-(-a*sind(teta2)*cosd(Gamma)-c*sind(Gamma)+a*cosd(teta2)*sind(Gamma));
r=(a*sind(teta2)*sind(Gamma)-c*cosd(Gamma)+a*cosd(teta2)*cosd(Gamma))*2;
q=-b*sind(Gamma)+(-a*sind(teta2)*cosd(Gamma)-c*sind(Gamma)+a*cosd(teta2)*sind(Gamma));
x1=(-r+(r^2-4*w*q)^(1/2))/(2*w);
x2=(-r-(r^2-4*w*q)^(1/2))/(2*w);
teta41=atand(x1)*2;
teta42=atand(x2)*2;
teta31=teta41+Gamma;
teta32= teta42-Gamma;
d1=(-b*sind(teta41)+a*sind(teta2))/(sind(teta31));
d2=(-b*sind(teta42)+a*sind(teta2))/(sind(teta32));
b=(a*sind(teta2)-c*sind(teta41))./sind(teta31);
w4=(a*w2*cosd(teta2-teta31))./(b+c*cosd(Gamma));
w3=w4;
velosidad_a=(a*w2*cosd(teta2)*j)-(a*w2*sind(teta2));
velosidad_c=(c*w4*cosd(teta41)*j)-(c*w4*sind(teta41));
o(xx,1)=teta2;
o(xx,2)=w3;
end
disp(o)
switch true
case 1
clc
menudevelosidad
case 2
clc
velosidadmanivelacorredeainvertida
case 3
disp('gracias por su preferencia')
otherwise
clc
menudetodo
end
fprintf('INGRESE DATOS:\n');
teta31=asind((m*sind(teta2)-c)/b);
teta32=m*cosd(teta2)-b*cosd(teta31);
d2=180-(teta31);
d1=m*cosd(teta2)-b*cosd(d2);
w3=(m*w2*cosd(teta2))./(b*cosd(teta31))
d=-m*w2*sind(teta2)+b*w3*sind(teta31)
velosidad_a=(m*w2*cosd(teta2)*j)-(m*w2*sind(teta2))
velosidad_ba=(b*w3*cosd(teta31)*j)-(b*w3*sind(teta31))
switch true
case 1
clc
menudevelosidad
case 2
clc
velosidadmanivelacorredera
case 3
otherwise
clc
menudetodo
end
a=input('Manivela: ');
b=input('Acoplador: ');
c=input('Balancín: ');
d=input('Bancada: ');
%Pp=input('modulo P: ');
%fi=input('angulo P: ');
%teta2=input('angulo 2: ');
acel2=input('aceleracion 2: ');
teta4=0;
RRR=zeros(360,9);
for x=1:1:360;
teta2=x;
%formulas
L=-b^2+c^2+a^2+d^2-(2*a*d*cosd(teta2));
J=c*(-2*a*cosd(teta2)+2*d);
K=-2*c*a*sind(teta2);
%ecuacion cuadratica con tangentes
A=L-J;
B=2*K;
C=J+L;
%hallar x1 y x2
X1=(-B+sqrt(B^2-4*A*C))/(2*A);
X2=(-B-sqrt(B^2-4*A*C))/(2*A);
teta42=2*atand(X1); %cerrado
teta41=2*atand(X2); %abierto
%teta 3
teta31=acosd((c*cosd(teta41)-a*cosd(teta2)+d)/b);
teta32=-acosd((c*cosd(teta42)-a*cosd(teta2)+d)/b);
%calculo de veloidad
w4=(a*w2*sind(teta2-teta31)/(c*sind(teta41-teta31)));
w3=(a*w2*sind(teta41-teta2)/(b*sind(teta31-teta41)));
%constantes despejadas
A=c*sind(teta41);
B=b*sind(teta31);
C=a*acel2*sind(teta2)+a*(w2)^2*cosd(teta2)+b*(w3)^2*cosd(teta31)-c*(w4)^2*cosd(teta41);
D=c*cosd(teta41);
E=b*cosd(teta31);
F=a*acel2*cosd(teta2)-a*(w2)^2*sind(teta2)-b*(w3)^2*sind(teta31)+c*(w4)^2*sind(teta41);
%aceleraciones
acel3=(C*D-A*F)/(A*E-B*D);
acel4=(C*E-B*F)/(A*E-B*D);
%disp(acel3);
%disp(acel4);
AcelAX=a*acel2*(-sind(teta2)+cosd(teta2)
format bank;
a=input('manivela:');
b=input('corredera:');
c=input('desentrado:');
L=zeros(360,6);
z=1;
for y=z:1:360
L(z,1)=z;
% Calculo de teta3
A=((a*sind(L(z,1)))-c)/b;
teta31=asind(A);
teta32=asind(-A)+pi;
%calculo de distancia
d1=a*cosd(L(z,1))+b*cosd(teta32);
%calculo de w3 y der
w3=a*cosd(L(z,1))/(b*cosd(teta31))*w2;%w3
der=-a*w2*sind(L(z,1)+b*w3*sind(teta32));%der
L(z,4)=a*w2*-sind(L(z,1)-cosd(L(z,1)));%va
L(z,5)=b*w3*(-sind(teta31)-cosd(teta32));%vab
L(z,6)=-L(z,5);%ba
%calculo de alpha 3
L(z,2)=(a*alpha2*cosd(L(z,1))-a*w2^2*sind(L(z,1))+b*w3^2*sind(teta31))/b*cosd(teta31);
%calculo de D
L(z,3)=-a*alpha2*sind(L(z,1))-a*w2^2*cosd(L(z,1))+b*L(z,2)*sind(teta31)+b*w3^2*cosd(teta31);
z=z+1;
end
format bank;
a=input('Manivela: ');
b=input('Acoplador: ');
c=input('Descentrado: ');
resp=zeros(360,7);
for x=1:1:360
teta2=x;
% Calculo de teta3
A=((a*sind(teta2))-c)/b;
teta31=asind(A);
teta32=asind(-A)+pi;
% Calculo de d
d1=a*cosd(teta2)-b*cosd(teta31);
d2=a*cosd(teta2)-b*cosd(teta32);
PAx=a*cosd(teta2);
PAy=a*sind(teta2);
PABx=b*cosd(teta31);
PABy=b*sind(teta31);
PBx=PAx+PABx;
PBy=PAy+PABy;
%Calculo de Velocidad
w3=-((a*cosd(teta2))/(b*cosd(teta31))*w2);
D=(b*w3*sind(teta31))-(a*w2*sind(teta2));
VAx=a*w2*(-sind(teta2));
VAy=a*w2*(cosd(teta2));
VABx=b*w3*(-sind(teta31));
VABy=b*w3*(cosd(teta31));
VBx=VAx-VABx;
VBy=VAy-VABy;
% Calculos de Aceleración
acel3=((a*acel2*cosd(teta2))-(a*((w2)^2)*sind(teta2))+(b*((w3)^2)*sind(teta31)))/(b*cosd(teta31));
AcelD=-(a*acel2*sind(teta2))-
(a*((w2)^2)*cosd(teta2))+(b*acel3*sind(teta31))+(b*((w3)^2)*cosd(teta31));
VAY=-(a*(w2)^2*(cosd(teta2)+sind(teta2)));%aceleracion nominalA
VB=AcelD; %aceleracion de B
% Muestra de resultados
resp(x,1)=teta2;
resp(x,2)=acel3;
resp(x,3)=VAX;
resp(x,4)=VAY;
resp(x,5)=VBAX;
resp(x,6)=VBAY;
resp(x,7)=VB;
end
CENTRO DE GRAVEDAD
g = (7.8*0.0136);
h = (0.9*0.0136);
Vac = (3.1416*a^2)/4*b
VM1 = (3.1416*c^2)/4*e
VM2 = (3.1416*d^2)/4*f
Mac = g*Vac
M1 = h*VM1
M2 = h*VM2
d1 = 4.5;
d2 = 9.5;
dc = 9.5;
DF = (M1*d1+M2*d2+Mac*dc)/(M1+M2+Mac)