Está en la página 1de 3

Ernesto Vargas Angulo

Jeankarlo Solorzano Valdivia


Freddy Huayta Pacco
clear all
clc

a=input('lm/lb='); %Para poder manipular los valores de entrada


lb=input('lb='); %ingresamos el comnado input de la relacion
lm/lb
lm=a*lb; % y un valor de cualquier brazo en este caso lb
fprintf('lm= %0.1f\n',lm);% Mostramos en valor de lm
tm=linspace(0,360,100); %linspace crea un vector de 0 a 360 con 100
div.
tb=asind((lm*sind(tm))/lb);%Aqui se creara otro vector tb
s=lm*cosd(tm)+lb*cosd(tb); %Aqui se creara otro vector s
if lm/lb<=1 && lm/lb>=0 % primera restriccion
subplot(2,1,1); %Subplot introducira dos graficas en una
fig.
plot(tm,tb,'r','linewidth',2); %Ploteo de los vectores tm vs tb
title('Mecanismo Biela-Manivela');
xlabel('\theta_m[°]','fontsize',15); %Nombre del eje x
ylabel('\theta_b[°]','fontsize',15); %Nombre del eje y
grid on; %Activamos rejilla
subplot(2,1,2);
plot(tm,s,'b','linewidth',2);
xlabel('\theta_m[°]','fontsize',15);
ylabel('s[ft,m,etc]','fontsize',15);
grid on;

else
p2=max(real(tb)); %valor maximo que tendra theta_b
p1=min(real(tb)); %valor minimo que tendra theta_b
%el valor de p2 sera positivo y p1 negativo si la evaluamos y
trabajar
%con valores reales ya que por la restriccion sabemos que asin solo
%puede evaluarse de -1 a 1, con valores distintos tendriamos valores
%complejos.
tb1=linspace(0,p2,50); %Utilizaremos 2 vectores para acomodarnos
tb2=linspace(p1,0,50); % con la grafica
%Se sabe que el valor de tm minimo es un numero negativo por que al
%trabajar en degrees en MatLab el seno o coseno nos dara un valor
%mas prox paracualquier angulo, por ejemplo A=asin(0.8) tendremos
%A=53.13° pero no nos dara 413.13° que al sacarle el seno nos dara
0.8
%Solo para acomodarnos que la grafica del valor independiente(tm) sea
%continua de 0° a 360° y no de un valor -x° a x° asi que al vector
del
%de los valores independiente

%Matlab no acepta valores a una funcion sino a los valores


%independientes que sera evaluados asi que de la funcion original de
tb
%despejamos tm e invertimos la funcion y asi cambiamos la
dependencia.
%Pero como tenemos dos vectores de entrada tb1 y tb2 necesitamos 2
%vectores de salida: tm1 y tm2
tm1=asind((lb*sind(tb1))/lm); %este vector tendra valores positivos

%Como se explico anteriormente el vector de salida en este caso es


%nuestro valor independiente para la grafica con los valores de tb
%tendremos valores negativos as ique le sumamos 360° para que la
%grafica sea continua respecto al eje tm
tm2=asind((lb*sind(tb2))/lm)+360;
s1=lm*cosd(tm1)+lb*cosd(tb1);
s2=lm*cosd(tm2)+lb*cosd(tb2); %Dos vectores de salida para 2 vectores
subplot(2,1,1); % de entrada
plot(tm1,tb1,'r',tm2,tb2,'r','linewidth',2);
title('Mecanismo Biela-Manivela');
xlabel('\theta_m[°]','fontsize',15);
ylabel('\theta_b[°]','fontsize',15);
grid on;
subplot(2,1,2);
plot(tm1,s1,'b',tm2,s2,'b','linewidth',2);
xlabel('\theta_m[°]','fontsize',15);
ylabel('s[ft,m,...]','fontsize',15);
grid on;
gtext('Ambas graficas para un valor continuo de \theta_m desde 0');
end

lb>lm
Lb=lm

Lm>lb