# Programación de Ingeniería Mecánica UPB:Grupo 1320 06
## Integrantes

* Andrés Arango Ochoa ( Estudiante de Ingeniería Mecánica).
* Alejandro Gaviria Gaviria ( Estudiante de Ingeniería Mecánica).
* Juan David Ospina Alcaraz ( Estudiante de Ingeniería Mecánica).

## Resumen

Se dispone de un software diseñado en MATLAB el cual fue creado para simplificar los análisis de un péndulo físico para analizar y observar como van variando la posición, la velocidad, y la aceleración a medida que va avanzando el tiempo, a partir de la ecuación diferencial que rige este fenómeno, se pudo explicar con claridad el contenido del marco teórico y los diagramas realizados, para que el usuario se sienta seguro al usar este programa, las gráficas arrojadas por el programa son dadas por la solución aproximada con el método de Runge kutta y los efectos que causan la fuerza del peso sobre el pendulo.

## Introduccion

Un péndulo físico o péndulo compuesto es un sistema compuesto por cualquier cuerpo rígido con un sólo grado de libertad, correspondiente a la rotación alrededor del eje fijo ZZ′ que no pasa por su centro de masa. En consecuencia, la posición de este cuerpo está determinada, en cualquier instante de tiempo, por el ángulo θ que dicho cuerpo forma con la vertical que atraviesa el centro de rotación. El análisis dinámico de este fenómeno, está sujeto a un manejo eficaz de conceptos importantes de la física y el uso de diversos métodos para resolver ecuaciones diferenciales, es allí, donde aparecen los métodos numéricos y las herramientas de programación como una solución ágil y óptima.

## Marco Teórico

Un péndulo compuesto es cualquier cuerpo rígido que puede oscilar libremente alrededor de un eje horizontal, que no pasa por su centro de masa. En consecuencia, la posición de este cuerpo está determinada, en cualquier instante de tiempo, por el ángulo $\theta$ que dicho cuerpo forma con la vertical.
Cuando se separa un ángulo $\theta$ de la posición de equilibrio y se suelta, sobre el sólido actúa el momento del peso, que tiene signo contrario al desplazamiento. Se debe observar que la fuerza de reacción $Ay$ que ejerce el pivote en A sobre el cuerpo rígido no hace momento, por lo que no aparece en la ecuación. Además, también es necesario resaltar que esta ecuación diferencial no es lineal, y por lo tanto el péndulo físico no oscila con movimiento armónico simple (M.A.S).
Se plantea la sumatoria de momentos respecto al centro de rotación, el cual se nombrará A en este caso:
$\sum M_{A}=I_{ZZ}^{A}\alpha$
Donde $I_{ZZ}^{A}$ ,el momento de inercia del cuerpo, y $\sum M_{A}$, la sumatoria de momentos respecto al punto A, están dados por :
$I_{ZZ}^{A}={\frac {1}{12}}ml^{2}$
$\sum M_{A}=-mgl\sin \theta$
El signo negativo indica que el momento de torsión que ejerce el peso respecto al punto A tiende a disminuir $\theta$. Es decir, la fuerza gravitacional produce un momento de torsión restaurador. Reemplazando los valores anteriores se obtiene la siguiente ecuación:
${\frac {-mgl\sin \theta }{2}}={\frac {ml{\ddot {\theta }}}{3}}$
Como se puede ver las masas se pueden cancelar, y si posteriormente despejamos ${\ddot {\theta }}$ obtenemos la siguiente ecuación:
${\ddot {\theta }}={\frac {-3g\sin \theta }{2l}}$
Se puede ver que se obtiene la ecuación diferencial de segundo orden en la variable $\theta$, que se puede resolver fácilmente usando métodos numéricos, como el método de Runge Kutta de cuarto orden o la función de Matlab ode45.
${\ddot {\theta }}+{\frac {3g\sin \theta }{2l}}=0$

## Diseño de la solución

A partir del problema planteado de un péndulo físico, y de la deducción de las ecuaciones iniciales se llego a que la simulación y solución del problema esta regida por la solución de la siguiente ecuación diferencial :
${\ddot {\theta }}={\frac {-3g\sin \theta }{2l}}$
Para solucionar esta ecuación que esta en términos de $\theta$, se visualizo previamente que la ecuación se tenia que resolver por medio de métodos numéricos para poder llegar a una solución muy aproximada de esta, por lo cual se creo una interfaz gráfica de usuario, en la que a partir de los datos de entrada que el usuario tiene la libertad de ingresar, se hace el calculo de la solución para la variable $\theta$, a partir de un método numérico.
Este método es el método de Runge-Kutta de cuarto orden: El método de Runge-Kutta (RK) es un conjunto de métodos iterativos (implícitos y explícitos) para la aproximación de soluciones de ecuaciones diferenciales ordinarias, concreta mente, del problema de valor inicial.
El método de Runge-Kutta de cuarto orden que a menudo es referenciado como «RK4» o como «el método Runge-Kutta» se utiliza de la siguiente manera: Definiendo un problema de valor inicial como:
Entonces el método RK4 para este problema está dado por la siguiente ecuación:
$y_{i+1}=y_{i}+{1 \over 6}\left(k_{1}+2k_{2}+2k_{3}+k_{4}\right)h$
Donde
Así, el siguiente valor $(yn+1)$ es determinado por el presente valor $(yn)$ más el producto del tamaño del intervalo $(h)$ por una pendiente estimada. La pendiente es un promedio ponderado de pendientes, donde $k_{1}$ es la pendiente al principio del intervalo, $k_{2}$ es la pendiente en el punto medio del intervalo, usando $k_{1}$ para determinar el valor de y en el punto $\scriptstyle x_{n}+{\frac {h}{2}}$ usando el método de Euler. $k_{3}$ es otra vez la pendiente del punto medio, pero ahora usando $k_{2}$ para determinar el valor de y; $k_{4}$ es la pendiente al final del intervalo, con el valor de y determinado por $k_{3}$. Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el punto medio:
${\mbox{pendiente}}={\frac {k_{1}+2k_{2}+2k_{3}+k_{4}}{6}}$.
Hay que aclarar que para usar el $RK4$ primero se tuvo que hacer un cambio de variable a la ecuación original para poder resolverla por este método, el cambio de variable consistió primero que todo hacer $y=\theta$, dejando toda la ecuación en términos de $y$, y luego de esto se realizo otro cambio de variable $y'=z$ donde la ecuación final quedo $z'=3gsin(y)/2$, con este ultimo cambio de variable ya se pudo resolver la ecuación por el método de $RK4$.
Luego de obtener la solución para $\theta$ el programa deriva la solución dos veces, para entregarnos los datos de la velocidad (primera derivada)y la aceleración (segunda derivada)y así poder graficar las tres soluciones diferentes con respecto al tiempo, dichas gráficas son muy útiles para poder analizar el fenómeno ya que cada gráfica da a conocer el comportamiento de cada uno de los resultados con respecto al tiempo y esto nos permitió plantear una interpolación dando un valor determinado de tiempo y así poder encontrar en la gráfica como se esta comportando la posición, la velocidad y la aceleración en ese instante de tiempo.

## Descripción del software

Se desarrollo una interfaz gráfica de usuario con el fin de solucionar con facilidad el problema de un péndulo físico que oscila durante un periodo de tiempo, y poder con esta hallar los ángulos $\theta$ de posición, la velocidad ${\dot {\theta }}$ y la aceleración ${\ddot {\theta }}$ en un instante de tiempo determinado.
En función de esto la interfaz esta diseñada para obtener los resultados de una manera muy eficiente, de manera que a partir de unos datos ingresados por el usuario esta arroje los resultados finales de una manera muy clara y fácil de visualizar, permitiendole al usuario observar con rapidez los datos deseados. A continuación se dará una breve explicación de como funciona la interfaz.
Como se puede ver en la imagen, a la izquierda de la interfaz hay una serie de cuadros de texto los cuales le permiten al usuario ingresar una serie datos como lo son la masa,la gravedad,la Longitud de la barra y el angulo inicial, cada cuadro de estos tiene también a su lado unos botones que le permiten al usuario escoger las unidades con las que se desea trabajar en cada uno de los datos ingresados anteriormente.
Luego de que el usuario haya ingresado cada uno de los datos necesarios para trabajar el problema del péndulo, el programa resuelve el problema con el método de método de Runge Kutta de cuarto orden, al resolver el problema se debe presionar el botón verificar, este botón como su nombre lo indica verifica que todos los datos ingresados sean consistentes con el programa, si uno de estos datos no cumple con las especificaciones del programa se mostrara una pequeña ventana con un mensaje de error el cual advertirá cual es el error y como debe de ser corregido.
Cuando todo lo descrito anteriormente este en orden el usuario deberá ingresar el tiempo para el cual desee que se interpole la ecuación y encuentre los datos deseados, en este momento podrá presionar el botón calcular el cual ademas de realizar el calculo de la posición, la velocidad, y la aceleración para este tiempo, deberá dar inicio a una pequeña simulación del comportamiento del péndulo para los datos ingresados, esta simulación esta ubicada en la parte superior del botón calcular y permite observar el movimiento del péndulo físico.
Al calcular los resultados obtenidos de la posición, la velocidad , y la aceleración, el usuario deberá presionar el botón graficar el cual permitirá observar y analizar tres diferentes gráficas de como va variando cada uno de los resultados obtenidos con respecto al tiempo, y ademas podrá observar la interpolacion realizada para el valor de tiempo ingresado.
Luego de haber observado las tres diferentes gráficas el usuario podrá pulsar el botón salir el cual antes de cerrar la interfaz creara y guardara un archivo con los resultados obtenidos.

## Resultados

Los resultados mas importantes que nos arroja el programa son las tres diferentes gráficas, las cuales lo que nos permiten observar con gran claridad es como va variando la posición, la velocidad, y la aceleración del péndulo físico con respecto al tiempo.
La primera gráfica mostrada es la de la posición con respecto la tiempo la cual nos permite ver como va oscilando el péndulo de una manera uniforme con respecto al tiempo, como el péndulo tiene condiciones ideales se puede observar como la oscilación es permanente y no va variando.
La segunda gráfica mostrada es la de la velocidad con respecto la tiempo la cual nos permite ver como va aumentando y disminuyendo la velocidad angular del péndulo de una manera uniforme con respecto al tiempo, como el péndulo tiene condiciones ideales se puede observar como la velocidad es permanente luego de pasar por la posición de equilibrio y va variando de una manera periódica.
La tercera gráfica mostrada es la de la aceleración angular con respecto la tiempo la cual nos permite ver como va aumentando y disminuyendo la aceleración angular del péndulo de una manera uniforme con respecto al tiempo, como el péndulo tiene condiciones ideales se puede observar como la aceleración es permanente y no va variando ya que tiene una variación periódica.
Ademas de ver la variación, también nos permiten observar un valor especifico de cada una de las gráficas ( posición, velocidad, aceleración) para un valor de tiempo predeterminado inicialmente, este valor mostrado es el arrojado por medio de la interponer que realiza el programa luego de haber resuelto la ecuación.

## Conclusiones y trabajo futuro

* El análisis de un péndulo físico a la hora de trabajar muchas variables se vuelve complicado, este programa es una solución ágil y simple de encontrar los efectos que se generan sobre un péndulo cuando tiene actuando sobre el la fuerza del peso .
* Las gráficas son una aproximación de los efectos reales ya que se tiene una brecha de error la cual será después mejorada ya que este programa es simplemente un prototipo, este error puede ser mejorado mas adelante proponiendo mas métodos de solución diferentes al Runge Kutta.
* El desarrollo de este programa nos ayudo a familiarizarnos y a mejorar nuestras habilidades con el lenguaje de programación, ya que al ser tan interactivo nos ayudo a diferenciar las variables y etiquetas.
* Por medio de factores externos como pueden ser la fricción con el aire o la fricción de los pasadores en los cuales esta apoyado el péndulo se pueden presentar las perdidas de energia.
Trabajo futuro
* Mejorar el programa para que se puedan ingresar más de un solo método de solución, creándole unas modificaciones a la interfaz y mejorando la presentación.
* A futuro se espera también poder hacer una pequeña simulación de un péndulo físico en el cual la energía que tiene se pueda ver en otro intervalo ya que en este intervalo analizado las perdidas de energía no se ven.

## Bibliografía

James L. Meriam, L. G. Kraige, “Mecánica para ingenieros: Dinámica”, Editorial Reverte.
Matthews, John H, "Métodos numéricos utilizando matlab", Editorial Pearson.