Buenas, a principios de mes un amigo que estudia 3º de Física en la universidad me pidió ayuda para hacer algunos trabajos de la asignatura Física Computacional y yo acepté ayudarle a cambio de café y galletitas.
Le dieron la opción de elegir el lenguaje de programación a usar con preferencia sobre Fortran y Python, yo le propuse hacerlo en javascript e ir haciendo una web, pero me dijo que no.
Versión de python: 2.7
Github No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Aprovecho que le ayudo para publicar los trabajos aquí a modo de log por si a alguien le llega a interesar gráficas y pequeños simuladores de pelotitas que suben y bajan.
Iré actualizando el post a medida que vaya ayudandole con más trabajos tanto nuevos como para mejorar los que ya están empezados.
Trabajos:
2ª Ley de Newton
El problema consiste en un cuerpo situado sobre el plano del eje x al cual se le aplica una velocidad inicial en vertical hacia arriba de 25m/s.
Calcula la posición y la velocidad cada 0.001s en cada punto, finalmente cuando el cuerpo aterrize mostrar el tiempo total transcurrido y la velocidad de llegada al suelo.
(Al principio puede asustar un poco tanta palabrería, pero el problema es más fácil de lo que parece)
Los datos del ejercicio son los siguientes:
Velocidad inicial = 25m/s
Posición (y) inicial = 0m
Aceleración = -9.8m/s**2 (gravedad)
Diferencial de tiempo = 0.001s
Para la 1ª versión del ejercicio simplemente definimos 3 funciones, cada una de ellas nos calculaba la velocidad y la posición cada 0.001s y nos imprimía los datos del tiempo transcurrido y la velocidad al aterrizar.
Nota:
Se necesitan 3 funciones, porqué una de ellas es la que obtiene el resultado con 1 ciclo de tiempo adelantado, otra con 1 ciclo de tiempo atrasado y otra con el tiempo correcto (la media del adelantado y del atrasado).
Nos definimos las constantes:
A continuación nos definimos cada una de las 3 funciones:
Definición de la función FORWARD(1 ciclo de tiempo adelantado):
Definición de la función BACKWARD(1 ciclo de tiempo atrasado):
Definición de la función CENTERED(Tiempo y velocidad correcto):
Finalmente, la llamada a las funciones:
Le dieron la opción de elegir el lenguaje de programación a usar con preferencia sobre Fortran y Python, yo le propuse hacerlo en javascript e ir haciendo una web, pero me dijo que no.
Versión de python: 2.7
Github No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Aprovecho que le ayudo para publicar los trabajos aquí a modo de log por si a alguien le llega a interesar gráficas y pequeños simuladores de pelotitas que suben y bajan.
Iré actualizando el post a medida que vaya ayudandole con más trabajos tanto nuevos como para mejorar los que ya están empezados.
Trabajos:
- 2ª Ley de Newton
2ª Ley de Newton
El problema consiste en un cuerpo situado sobre el plano del eje x al cual se le aplica una velocidad inicial en vertical hacia arriba de 25m/s.
Calcula la posición y la velocidad cada 0.001s en cada punto, finalmente cuando el cuerpo aterrize mostrar el tiempo total transcurrido y la velocidad de llegada al suelo.
(Al principio puede asustar un poco tanta palabrería, pero el problema es más fácil de lo que parece)
Los datos del ejercicio son los siguientes:
Velocidad inicial = 25m/s
Posición (y) inicial = 0m
Aceleración = -9.8m/s**2 (gravedad)
Diferencial de tiempo = 0.001s
Para la 1ª versión del ejercicio simplemente definimos 3 funciones, cada una de ellas nos calculaba la velocidad y la posición cada 0.001s y nos imprimía los datos del tiempo transcurrido y la velocidad al aterrizar.
Nota:
Se necesitan 3 funciones, porqué una de ellas es la que obtiene el resultado con 1 ciclo de tiempo adelantado, otra con 1 ciclo de tiempo atrasado y otra con el tiempo correcto (la media del adelantado y del atrasado).
Nos definimos las constantes:
A continuación nos definimos cada una de las 3 funciones:
Definición de la función FORWARD(1 ciclo de tiempo adelantado):
Definición de la función BACKWARD(1 ciclo de tiempo atrasado):
Definición de la función CENTERED(Tiempo y velocidad correcto):
Finalmente, la llamada a las funciones: