Está en la página 1de 18

ESCUELA SUPERIOR POLITCNICA

DE CHIMBORAZO
FACULTAD DE MECNICA
ESCUELA DE INGENIERA
AUTOMOTRIZ
COMPUTACIN II

INFORME DEL PROYECTO


FINAL
ANDRS FLORES DAZ
2014

- 2015
1

NDICE
1.
OBJETIVOS
.3
1.1
Objetivo
General.3
1.2
Objetivos
Especficos...3
2.
INTRODUCCIN
.3
3.
PROGRAMA
UTILIZAR..3

4.
MARCO
TERICO
..4
4.1
Qu
es
..4

MATLAB?

4.1.1
Historia..
..4
4.2
Qu
es
una
.4
4.2.1
Componentes
GUI5

de

GUI?.
una

4.2.2 Funcionamiento de una GUI.


.6
4.2.3 Manejo de datos entre la aplicacin y el archivo
.m.6
4.3 Cada Libre.
.8
4.4 Movimiento
Parablico.9
2

5.
PROCEDIMIENTO
10
6.
DESARROLLO
..11

MATEMTICO..

7.
CONCLUSIONES
..12
8.
BIBLIOGRAFA
12
9.
ANEXOS
.13
8.1
Anexo
A.
13
8.2
Anexo
B.
14
8.3
Anexo
C.
14
8.4
Anexo
D.
15
8.5
Anexo
E.
15

1. OBJETIVOS
1.1 Objetivo General:
3

- Realizar un programa en MATLAB que resuelva cualquier ejercicio de


cada libre o de movimiento parablico.
1.2 Objetivos Especficos:
- Crear una GUI donde se resuelvan dichos ejercicios.
- Determinar la altura mxima, el tiempo de vuelo, la velocidad final y el
alcance horizontal del movimiento por medio de 3 datos iniciales.
- Graficar el movimiento del proyectil y obtener los datos del
procedimiento.

2. INTRODUCCIN
Matlab es una herramienta donde podemos realizar diferentes clculos
matemticos, fsicos, estadsticos entre otras. En esta ocasin realizaremos un
ejercicio de cinemtica, para ser ms especficos de movimiento parablico o
tambin llamado lanzamiento de proyectiles, o incluso de cada libre utilizando
un ngulo de 90.
Estos lanzamientos son una combinacin de los dos movimientos que
previamente ya estudiamos en la materia que trata a fsica que son el
Movimiento Rectilneo Uniforme (MRU) y el Movimiento Rectilneo
Uniformemente Variado (MRUV).
Al decir que es una combinacin de los dos, nos referimos que para resolver
cualquier ejercicio de estos temas, vamos a utilizar las frmulas anteriormente
dadas y traducirlas al lenguaje de MATLAB, y para ello utilizaremos los
conocimientos que hemos recibido durante este semestre.

3. PROGRAMA A UTILIZAR
- MATLAB

4. MARCO TERICO
4

4.1 Qu es MATLAB?
MATLAB es una herramienta de software matemtico que ofrece un
entorno de desarrollo integrado con un lenguaje de programacin propio
(lenguaje M).
Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la
representacin de datos y funciones, la implementacin de algoritmos, la
creacin de interfaces de usuario (GUI) y la comunicacin con programas
en otros lenguajes y con otros dispositivos hardware.
4.1.1 Historia
Fue creado por el matemtico y programador de computadoras
Cleve Moler en 1984, surgiendo la primera versin con la idea de
emplear paquetes de subrutinas escritas en Fortran en los cursos
de lgebra lineal y anlisis numrico, sin necesidad de escribir
programas en dicho lenguaje. El lenguaje de programacin M fue
creado en 1970 para proporcionar un sencillo acceso al software
de matrices LINPACK y EISPACK sin tener que usar Fortran.
En 2004, se estimaba que MATLAB era empleado por ms de un
milln de personas en mbitos acadmicos y empresariales.
4.2 Qu es una GUI?
La interfaz grfica de usuario, conocida tambin como GUI (del ingls
Graphical User Interface) es un tipo de interfaz de usuario que utiliza un
conjunto de imgenes y objetos grficos para representar la informacin
y acciones disponibles en la interfaz.
Como en una GUI las acciones se realizan mediante manipulacin
directa, el usuario no tiene que crear un script, digitar algn comando en
la lnea de comandos o comprender los detalles de cmo se realizan las
tareas para poder hacer alguna actividad con la aplicacin.
El editor permite construir interfaces arrastrando y soltando
componentes en el rea de diseo de la GUI. Todas las GUIs creadas con
guide empiezan con una funcin inicial (callback) que se invoca cuando
se invoca la interfaz. La operacin automtica de guardado (save)
genera un fichero .m y un fichero .fig. El fichero .fig contiene el diseo
del GUI en binario y el fichero .m contiene el cdigo que controla el GUI.
La interfaz que se desarrollar consiste en permitir al usuario seleccionar
entre tres conjuntos de datos y mostrarlos segn tres tipos de grficos.
Para ello se insertarn los componentes adecuados desde la paleta de
componentes (Push Buttons, Panel, Static Text box, Pop-up Menu, y
5

Axes). Se puede redimensionar el tamao de la interfaz en modo diseo,


aunque despus se puede modificar haciendo uso de Tools.
4.2.1 Componentes de una GUI
Los componentes de una GUI de Matlab son:

La siguiente tabla muestra la descripcin de los componentes:

Cada uno de los elementos de GUI, tiene un conjunto de opciones


(Property Inspector) que nos permite personalizar cada elemento.

4.2.2 Funcionamiento de una GUI


Una aplicacin GUIDE consta de dos archivos: .m y .fig. El archivo
.m es el que contiene el cdigo con las correspondencias de los
botones de control de la interfaz y el archivo .fig contiene los
elementos grficos.
Cada vez que se adicione un nuevo elemento en la interfaz
grfica, se genera automticamente cdigo en el archivo .m. Para
ejecutar una Interfaz Grfica, si la hemos etiquetado con el
nombre curso.fig, simplemente ejecutamos en la ventana de
comandos >> curso. O haciendo click derecho en el m-file y
seleccionando la opcin RUN.
Para ello utilizaremos las propiedades de un control, primero
crearemos un botn y luego activamos el inspector de
propiedades.
Como se ha mencionado las propiedades varan dependiendo del
control a usar, a continuacin se explican los ms comunes:
- Background Color .- Cambia el color del fondo del control.
- Callback .- La propiedad ms importante del control, ya que le
dice al control que hacer cuando este se active.
- Enable .- Activa o desactiva un control.
- String .- En el caso de botones, cajas de texto, texto esttico; es
el texto que muestra el control.
- Tag .- Otra de las propiedades ms importantes ya que con este
es posible regresar datos o identificar al control.
4.2.3 Manejo de datos entre la aplicacin y el archivo .m
7

Todos los valores de las propiedades de los elementos (color,


valor, posicin, string) y los valores de las variables transitorias
del programa se almacenan en una estructura, los cuales son
accedidos mediante un nico y mismo identificador para todos
stos. Tomando el programa listado anteriormente, el identificador
se asigna en:
handles.output = hObject;
handles, es nuestro identificador a los datos de la aplicacin. Esta
definicin de identificador es salvada con la siguiente instruccin:
guidata(hObject, handles);
guidata, es la sentencia para salvar los datos de la aplicacin. Es
la funcin que guarda las variables y propiedades de los
elementos en la estructura de datos de la aplicacin, por lo tanto,
como regla general, en cada subrutina se debe escribir en la
ltima lnea lo siguiente:
guidata(hObject,handles);
Esta sentencia nos garantiza que cualquier cambio o asignacin
de propiedades o variables quede almacenado.
Por ejemplo, si dentro de una subrutina una operacin dio como
resultado una variable diego para poder utilizarla desde el
programa u otra subrutina debemos salvarla de la siguiente
manera:
handles.diego=diego;
guidata(hObject,handles);
La primera lnea crea la variable diego a la estructura de datos de
la aplicacin apuntada por handles y la segunda graba el valor.
Sentencias GET y SET
La asignacin u obtencin de valores de los componentes se
realiza mediante las sentencias get y set. Por ejemplo si queremos
que la variable utpl tenga el valor del Slider escribimos:
utpl= get(handles.slider1,'Value');
Notar que siempre se obtienen los datos a travs de los
identificadores handles. Para asignar el valor a la variable utpl al
statictext etiquetada como text1 escribimos:
8

set(handles.text1,'String',utpl);

4.3 Cada Libre


Se denomina cada libre al movimiento de un cuerpo bajo la accin
exclusiva de un campo gravitatorio. Esta definicin formal excluye a
todas las cadas reales influenciadas en mayor o menor medida por
la resistencia aerodinmica del aire, as como a cualquier otra que tenga
lugar en el seno de un fluido.
El concepto es aplicable tambin a objetos en movimiento vertical
ascendente sometidos a la accin desaceleradora de la gravedad, como
un
disparo
vertical;
o
a
cualquier
objeto
(satlites
naturales o artificiales, planetas, etc.) en rbita alrededor de un cuerpo
celeste.
Ejemplos de cada libre deportiva los encontramos en actividades
basadas
en
dejar
caer
una
persona
a
travs
de
la atmsfera sin paracadas durante un cierto trayecto.
Leyes fundamentales de la Cada Libre
a) Todo cuerpo que cae libremente tiene una trayectoria vertical
b) La cada de los cuerpos es un movimiento uniformemente acelerado
c) Todos los cuerpos caen con la misma aceleracin.
Formulas

Velocidad inicial: normalmente es la velocidad que se le imprime


inicialmente a un objeto para ponerlo en movimiento. En este caso como
no se le da una fuerza sino solo se deja caer la Vo es igual a cero.
Velocidad final: Es la velocidad que alcanzara el objeto cuando llega al
punto final de la cada.
Tiempo: Es lo que se demora el cuerpo en caer.
Altura: la altura es la medida de longitud de una trayectoria o
desplazamiento, siempre y cuando la medida se tomada como punto de
refencia la vertical.
4.4 Movimiento Parablico
Se denomina movimiento parablico al realizado por un objeto cuya
trayectoria describe una parbola. Se corresponde con la trayectoria
ideal de un proyectil que se mueve en un medio que no ofrece
resistencia
al
avance
y
que
est
sujeto
a
un campo
gravitatorio uniforme.
El movimiento parablico puede ser analizado como la composicin de
dos
movimientos
rectilneos:
un movimiento
rectilneo
uniforme horizontal
y
un movimiento
rectilneo
uniformemente
acelerado vertical.
Tipos de Movimiento Parablico
- Movimiento de Media Parbola o Semiparablico (lanzamiento
horizontal)
- Movimiento Parablico Completo
Caractersticas

10

- Conociendo la velocidad de salida (inicial), el ngulo de inclinacin


inicial y la diferencia
de alturas (entre salida y llegada) se conocer
toda la trayectoria.
- Los ngulos de salida y llegada son iguales.
- La mayor distancia cubierta o alcance se logra con ngulos de salida de
45.
- Para lograr la mayor distancia fijado el ngulo el factor ms importante
es la velocidad.
- Se puede analizar el movimiento en vertical independientemente del
horizontal.
Frmulas

5. PROCEDIMIENTO
1. Realizar un script sencillo donde podamos ver cmo sern los pasos para
poder hallar nuestras incgnitas. (Ver foto en anexo A)
2. Abrir una nueva GUI y trabajar en ella hasta obtener todos los botones y
textos que deseemos poner en el programa.
3. Para ello vamos a crear una nueva figura y agregamos un Static Box en el
centro para el ttulo que diga CADA LIBRE Y MOVIMIENTO PARABLICO.
4. Abajo ponemos un panel para los DATOS. En l irn 7 Static Box y en medio
3 Text Box para ingresar los datos y al lado un Push Button que diga
CALCULAR.
11

5. Debajo de estos controles ponemos otros dos paneles que digan


RESULTADOS y PROCEDIMIENTO. En el primero irn 13 Static Text (1 ttulo,
8 textos y 4 salidas de datos) y en el segundo 52 Static Text (7 ttulos, 33
textos, 11 salidas de datos y 1 texto con mi nombre)
6. Luego agregamos 2 Push Buttons uno al lado del panel de resultados que
diga GRAFICAR y otro dentro del panel procedimiento que diga VER DATOS.
7. Finalmente agregamos un panel ms con fondo de otro color para poder
distinguir y dentro de este un Axis para que aparezca la grfica del movimiento
que
se
realizar
y
guardamos
el
archivo
como:
gui_proyecto_final_andres_flores_1642.fig.
8. En el primer Static Text cambiamos sus propiedades con el Inspector de
Propiedades y modificamos el String para el ttulo. De ah los 3 Text Box
dejamos en blanco con la misma propiedad String, Seguimos de esa forma para
los 3 paneles hacemos lo mismo asignamos los ttulos correspondientes a los
Static Text y a los Push Button. Y obtendremos nuestra interface completa. (Ver
foto en anexo B)
10. Ahora vamos a editar el callback del botn CALCULAR y agregamos los
cdigos necesarios para que capture los 3 datos que se ingresen (con el GET) y
devuelva los 4 datos en el panel RESULTADOS (con el SET). Para ello hay que
considerar agregar un identificador a cada Tag de cada control, esto es, poner
un nombre a cada control para luego llamarlo e identificarlo.
11. Luego editamos el callback del botn VER DATOS y hacemos el mismo
procedimiento es decir que capture los 3 primeros datos y obtenga los 11
valores en el panel PROCEDIMIENTO.
12. Finalmente editamos el callback del botn GRAFICAR y de la misma forma
ponemos los mismos cdigos para que capture los datos iniciales y poder
graficar. Para ello usamos el comet para hacer una grfica animada y
utilizamos 2 plot para obtener la curva de la trayectoria y la altura mxima de
la misma.
13. Ya con todos los parmetros realizados solo nos queda correr el programa
para verificar si todo funciona con normalidad. (Ver foto en anexo C)
6. DESARROLLO MATEMTICO
- Ingresar los datos iniciales
Yo = Altura Inicial
Vo = Velocidad inicial
theta = ngulo

= 45 m
= 20 m/s
= 30

- Calcular los datos bsicos antes de usar las frmulas


12

Vox=Vo*cos(theta)
Voy=Vo*sin(theta)
g=-9.81

= 17.32 m/s
= 10 m/s
= - 9.81 m/s2

- Reemplazar los valores en las frmulas ya sea directamente o despejando


Altura Mxima

Voy 2
Ymax=
+Yo
2g

= 50.09 m

Tiempo de vuelo
tv = ts + tc
Vy = (Voy) - (g)*(ts)

ts=

Voy
g

= 1.01 s

y = (0.5*g)*(tc^2)
t c=

2Ymax

= 3.19 s

tv = ts + tc

= 4.20 s

Velocidad Final
Vfx = Vox
Vfy = g*tc

= 17.32 m/s
= - 31.3 m/s

V f = Vfx +Vfy
2

Alcance Horizontal
x = Vox * tv

= 35.81 m/s

= 73 m

6. CONCLUSIONES
- Este programa sirve para realizar cualquier ejercicio que se proponga de cada
libre o de movimiento parablico.

13

- La GUI puede ser muy til para realizar programas que la mayora de las
personas puedan entender as no sepan utilizar MATLAB.
- El programa puede ser utilizado para otros fines como la enseanza de dichos
movimientos en escuelas y colegios.
- El proyecto puede ser muy innovador para las personas que se les dificulta la
fsica
- Este programa lo puede utilizar cualquier persona que quiera aprender lo que
es este movimiento.

7. BIBLIOGRAFA
- Tomado de http://es.slideshare.net/miguelataurima/creacin-de-interfacesgrficas-con-matlab-guide. 23/01/15.
- Tomado de http://www.mathworks.com/discovery/matlab-gui.html. 23/01/15
- Tomado de https://www.youtube.com/watch?v=4btijpLtPxM. 23/01/15
- Tomado de http://es.wikipedia.org/wiki/Ca%C3%ADda_libre. 23/01/15
Tomado
23/01/15

de

http://es.wikipedia.org/wiki/Movimiento_parab%C3%B3lico.

8. ANEXOS
8.1 Anexo A
14

% Proyecto Final de Computacin


% Nombre: Andrs Flores Daz
% Curso: 3ro "A"
% Fecha: 23/01/15
% Movimiento Parablico
% Un cuerpo ser lanzado desde una altura Yo con velocidad Vo y un ngulo
% theta con la horizontal.
Yo=input('Ingrese el valor de la altura inicial: ');
Vo=input('Ingrese el valor de la velocidad inicial: ');
theta=input('Ingrese el valor del ngulo en grados: ');
% Dados estos datos se puede calcular el alcance horizontal, la altura
% mxima, la velocidad final antes de tocar el suelo y el tiempo de vuelo
% del proyectil cuando llega al suelo.
% Pero primero debemos encontrar los datos que vayamos a utilizar antes
% de emplear las frmulas para luego simplemente reemplazarlas
Vox=Vo*cosd(theta);
Voy=Vo*sind(theta);
g=-9.81;
% Ya con esto dado podemos utilizar las frmulas para calcular:
% La altura mxima
disp(' ')
disp('
LA ALTURA MXIMA')
altura_maxima=sym('Ymax=(Voy^2)/(-2*g)+Yo')
Ymax=(Voy^2)/(-2*g)+Yo
% El tiempo de vuelo
disp('
EL TIEMPO DE VUELO')
tiempo_de_vuelo=sym('tv=ts+tc')
tiempo_de_subida=sym('Vy=Voy-gt')
tiempo_de_subida=sym('ts=Voy/-g')
ts=Voy/-g;
tiempo_de_caida=sym('y=0.5*g*t^2')
tiempo_de_caida=sym('tc=sqrt(2*Ymax/g)')
tc=sqrt((2*Ymax)/(-g));
tv=ts+tc
% La velocidad antes de tocar el piso
disp('
LA VELOCIDAD FINAL')
velocidad_final_en_x=sym('Vfx=Vox')
Vfx=Vox;
velocidad_final_en_y=sym('Vfy=-g*tc')
Vfy=-g*tc;
velocidad_final=sym('Vf=sqrt((Vfx^2)+(Vfy^2))')
Vf=sqrt((Vfx^2)+(Vfy^2))
% El alcance horizontal
disp('
EL ALCANCE HORIZONTAL')
alcance_horizontal=sym('x=Vox*tv')
x=Vox*tv

8.2 Anexo B

15

8.3 Anexo C

16

8.4 Anexo D
Se deja caer un objeto desde un edificio de 50m. Calcule el tiempo de
cada y su velocidad

8.5 Anexo E
Un proyectil se lanza con una velocidad de 15m/s en un ngulo de 45
desde un edificio de 30m. Calcule el tiempo de cada, su velocidad, la
altura mxima y su alcance.

17

18