Notas y ejercicios unidad 5

Computación I
Unidad 5: Integración de las ecuaciones del movimiento
Unidad 5: Integración de las
ecuaciones del movimiento
• Ecuaciones diferenciales ordinarias (EDO).
• Solución EDO de 1er orden (método de Euler,
método de Runge Kutta).
• Solución EDO de 2o orden (método de Euler,
método de Runge Kutta, Verlet).
Aplicaciones en física:
• Integración práctica de la ecuación de Newton.
Ecuaciones del movimiento con condiciones
iniciales. Modelización de sistemas físicos.
1
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales
Definición
Una ecuación diferencial es una relación matemática entre una función f(x) y sus
derivadas en la forma:
𝑑 𝑛 𝑓 𝑑 𝑛−1 𝑓 𝑑 𝑛−2 𝑓
𝑑𝑓
𝐺
,
,
, … , , 𝑓, 𝑥 = 0
𝑑𝑥 𝑛 𝑑𝑥 𝑛−1 𝑑𝑥 𝑛−2
𝑑𝑥
A la ecuación anterior se la llama ecuación diferencial ordinaria (EDO) de orden n,
siendo n el orden de la derivada mayor. La ecuación es “ordinaria” porque solo
depende de una variable independiente x.
Podemos rescribir la ecuación como una ecuación diferencial ordinaria explícita:
𝑑𝑛 𝑓
𝑑 𝑛−1 𝑓 𝑑 𝑛−2 𝑓
𝑑𝑓
=
𝑔
,
,
…
,
, 𝑓, 𝑥
𝑑𝑥 𝑛
𝑑𝑥 𝑛−1 𝑑𝑥 𝑛−2
𝑑𝑥
Ejemplo:
𝑓 (3) + 𝑥𝑓 ′ + 𝑥 −2 𝑓 = 0
𝑓 (𝑛)
𝑑𝑛 𝑓
=
𝑑𝑥 𝑛
2
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales
Definición
El objetivo de este tema es encontrar numéricamente la función f(x) solución de una
ecuación diferencial ordinaria dada (nos centraremos en las de primer y segundo
orden). En general una ecuación diferencial tiene múltiples soluciones, es decir, hay
múltiples funciones f(x) que la cumplen (ejemplo: f’ = 0). Para tener bien definida la
solución el problema necesita condiciones adicionales, a estas condiciones se las
llama condiciones de contorno.
𝑓 (𝑛) = 𝑔 𝑓 (𝑛−1) , 𝑓 (𝑛−2) , … , 𝑓 ′ , 𝑓, 𝑥
𝑓
𝑛−1
𝑓
𝑛−2
(𝑥0 ) = 𝑓0,𝑛−1
(𝑥0 ) = 𝑓0,𝑛−2
…
𝑓′(𝑥0 ) = 𝑓0,1
𝑓(𝑥0 ) = 𝑓0
Ejemplo: f’ = 0, f(1) = 3. Solución, f(x) = 3.
Multitud de problemas en Física son ecuaciones diferenciales.
Ejemplo: Ley de Newton:
𝑑 2 𝑥(𝑡)
𝑚
=𝐹
𝑑𝑡 2
3
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 1er orden
Interpretación geométrica
Ecuación diferencial ordinaria de primer orden con condición de contorno:
𝑑𝑓(𝑥)
= 𝑔 𝑓, 𝑥
𝑑𝑥
𝑓(𝑥0 ) = 𝑓0
La ecuación solo nos dice cual es valor de la pendiente, g(f,x), de la curva tangente a
f(x):
tangente con pendiente g(f,x)
f(x)
𝑓0
𝑥0
4
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 1er orden
Método de Euler
Ecuación diferencial ordinaria de primer orden con condición de contorno:
𝑑𝑓(𝑥)
= 𝑔 𝑓, 𝑥
𝑑𝑥
𝑓(𝑥0 ) = 𝑓0
Usemos esta información para aproximar el valor de f(x) en una sucesión de puntos xi
separados por un intervalo “pequeño” Δx = xi+1 - xi.
Es decir, usamos la definición de derivada:
pendiente g(f1,x1)
pendiente g(f0,x0)
𝑓2
𝑓1
𝑑𝑓(𝑥)
𝑓 𝑥 + ∆𝑥 − 𝑓(𝑥)
= lim
= 𝑔 𝑓, 𝑥
∆𝑥→0
𝑑𝑥
∆𝑥
suponiendo un valor finito de Δx:
f(x)
𝑓 𝑥 + ∆𝑥 = 𝑓(𝑥) + 𝑔 𝑓, 𝑥 ∗ ∆𝑥
𝑓0
𝑓1 = 𝑓0 + 𝑔 𝑓0 , 𝑥0 ∗ (𝑥1 − 𝑥0 )
𝑥0
𝑥1
𝑥2
𝑓2 = 𝑓1 + 𝑔 𝑓1 , 𝑥1 ∗ (𝑥2 − 𝑥1 )
…
𝑓𝑖+1 = 𝑓𝑖 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ (𝑥𝑖+1 − 𝑥𝑖 )
Método
de
Euler
5
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 1er orden
Método de Euler
Algoritmo para implementación del método de Euler:
𝑓𝑖+1 = 𝑓𝑖 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ 𝑥𝑖+1 − 𝑥𝑖 , 𝑖 = 0, 𝑁 − 1
initial values x0 & f0
end point xN & number of steps N & Δx
function g(f,x)
i<N
No
Plot fi, xi
Plot analytical
result if possible
Yes
𝑥𝑖+1 = 𝑥𝑖 + ∆𝑥
𝑓𝑖+1 = 𝑓𝑖 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ 𝑥𝑖+1 − 𝑥𝑖
Error: 𝑓 𝑥𝑖 − 𝑓𝑖 ∝ ∆𝑥 ∗ 𝑥𝑖 − 𝑥0
En algunos casos la solución se vuelve inestable.
6
Computación I
Ecuaciones Diferenciales de 1er orden
Unidad 5: Integración de las ecuaciones del movimiento
Método de Euler
Ejercicio 5.1: Ecuación del movimiento en una dimensión. Calcular mediante el método
de Euler la posición en función del tiempo de una partícula que parte en t0 = 0 s del punto
x0 = 0.5 m y se mueve con una velocidad v(t) = ( 3 – 2 t ) m/s. Comparar la solución
numérica con la exacta.
Ejercicio 5.2: Escribir una función de matlab que resuelva mediante el método de Euler
una ecuación diferencial ordinaria de primer orden, 𝑑𝑓(𝑥)/𝑑𝑥 = 𝑔 𝑓, 𝑥 , con 𝑓(𝑥0 ) =
𝑓0 para N puntos y en el intervalo [𝑥0 , 𝑥𝑁 ]. La función tiene que ser del tipo:
function [f, x] =euler(g,x0,f0,xN,N),
siendo f,x dos vectores con la solución 𝑓𝑖 , 𝑥𝑖 y g la función que define la ecuación
diferencial. Resolver el caso anterior usando esta función.
Ejercicio 5.3: Calcular la velocidad en función del tiempo en un intervalo de 4s de una
partícula que se mueve bajo una fuerza F(t)/m = 1 / ( 3 – 2 t ) m/s2 si i) en t0 = 0 s, v0 = 0.5
m/s; y ii) en t0 = 1.6 s, v0 = 0.5 m/s.
Ejercicio 5.4: Calcular el error cometido por el método de Euler al resolver la ecuación
diferencial 𝑑𝑓(𝑥)Τ𝑑𝑥 = −𝑓 + 2cos(𝑥) con 𝑓 0 = 1 para x de 0 a 10 y i) Δx=0.1, ii)
Δx=0.05. (Solución analítica: 𝑓 𝑥 = sin 𝑥 + cos(𝑥))
7
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 1er orden
Método de Euler modificado
Euler:
pendiente g(fi+1,xi+1)
pendiente g(fi,xi)
𝑓𝑖+2
𝑓𝑖+1
f(x)
𝑓𝑖
𝑥𝑖
𝑥𝑖+1
𝑓𝑖+1 = 𝑓𝑖 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ 𝑥𝑖+1 − 𝑥𝑖
¿Por qué usar 𝑔 𝑓𝑖 , 𝑥𝑖 ?
Podríamos usar 𝑔 𝑓𝑖+1 , 𝑥𝑖+1 … o su media.
Problema, no conocemos todavía 𝑓𝑖+1 .
Lo solucionamos haciendo una estimación
con el método de Euler:
𝑥𝑖+2
𝑡𝑟𝑖𝑎𝑙
𝑓𝑖+1
= 𝑓𝑖 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ 𝑥𝑖+1 − 𝑥𝑖
𝑡𝑟𝑖𝑎𝑙
𝑔 𝑓𝑖 , 𝑥𝑖 + 𝑔 𝑓𝑖+1
, 𝑥𝑖+1
𝐺=
2
Método de Euler
modificado
𝑓𝑖+1 = 𝑓𝑖 + 𝐺 ∗ 𝑥𝑖+1 − 𝑥𝑖
8
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 1er orden
Método de Runge-Kutta de orden 2
pendiente g(fi+1,xi+1)
pendiente g(fi,xi)
𝑓𝑖+2
𝑓𝑖+1
f(x)
𝑓𝑖
𝑥𝑖
𝑥𝑖+1
También podríamos usar la pendiente en el
punto medio 𝑔 𝑓𝑖+1/2 , 𝑥𝑖+1/2
𝑓𝑖+1/2 lo estimamos con Euler.
1
Notación: 𝑥𝑖+1/2 = 𝑥𝑖 + 2 ∆𝑥𝑖 ,
𝑓𝑖+1/2 = 𝑓(𝑥𝑖+1/2 )
𝑥𝑖+2
𝑓𝑖+1/2 = 𝑓𝑖 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ 𝑥𝑖+1/2 − 𝑥𝑖
𝐺=𝑔
𝑡𝑟𝑖𝑎𝑙
𝑓𝑖+1/2
, 𝑥𝑖+1/2
𝑓𝑖+1 = 𝑓𝑖 + 𝐺 ∗ 𝑥𝑖+1 − 𝑥𝑖
Método de RungeKutta de orden 2
(midpoint)
El método de Euler modificado también es un RungeKutta orden dos (trapezoidal). Se llaman de orden dos
porque están desarrollados para que el error sea ∝ ∆𝑥 2
9
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 1er orden
Método de Runge-Kutta de orden 4
Si se impone que el error cometido sea ∝ ∆𝑥 4 se obtiene el método de Runge-Kutta
de orden 4.
𝑘1 = 𝑔 𝑓𝑖 , 𝑥𝑖
𝑘2 = 𝑔 𝑓𝑖 + 𝑘1 ∆𝑥 Τ2 , 𝑥𝑖 + ∆𝑥 Τ2
𝑘3 = 𝑔 𝑓𝑖 + 𝑘2 ∆𝑥 Τ2 , 𝑥𝑖 + ∆𝑥 Τ2
𝑘4 = 𝑔 𝑓𝑖 + 𝑘3 ∆𝑥, 𝑥𝑖 + ∆𝑥
Método de RungeKutta de orden 4
𝐺 = 1Τ6 (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
𝑓𝑖+1 = 𝑓𝑖 + 𝐺 ∗ 𝑥𝑖+1 − 𝑥𝑖
10
Computación I
Ecuaciones Diferenciales de 1er orden
Unidad 5: Integración de las ecuaciones del movimiento
Ejercicios
Ejercicio 5.5: Modificar la función euler creada anteriormente para que resuelva
ecuaciones diferenciales con el método de Euler modificado. Repetir el ejercicio 5.4 con
este método. Analizar el comportamiento del error.
Ejercicio 5.6: Modificar la función euler creada anteriormente para que resuelva
ecuaciones diferenciales con el método de Runge-Kutta orden 2 (midpoint). Repetir el
ejercicio 5.4 con este método. Analizar el comportamiento del error.
Ejercicio 5.7: Modificar la función euler creada anteriormente para que resuelva
ecuaciones diferenciales con el método de Runge-Kutta orden 4. Repetir el ejercicio 5.4
con este método. Analizar el comportamiento del error. Comparar todos los métodos
estudiados.
Ejercicio 5.8: Movimiento de un cuerpo en caída libre. Calcular mediante el método de
Euler la velocidad en función del tiempo de un cuerpo de masa m = 1 g que parte del
reposo y además de la fuerza de la gravedad sufre una fuerza de rozamiento proporcional
a la velocidad, -kv, con k = 10-4 Ns/m. Repetir el cálculo usando el método de Runge-Kutta
de orden 4 y el mismo intervalo y número de pasos. Comparar ambas soluciones con el
resultado exacto.
11
Computación I
Ecuaciones Diferenciales de 1er orden
Unidad 5: Integración de las ecuaciones del movimiento
Ejercicios
Ejercicio 5.9: Suponer que el cuerpo del ejercicio anterior se lanza desde el origen de
coordenadas con una velocidad inicial de módulo v0 = 1 m/s formando un ángulo de 45o
con la horizontal. Representar la velocidad y posición en función del tiempo, también la
trayectoria y(x). Comparar la solución exacta con la numérica.
Ejercicio 5.10: Método de Verlet (métodos multistep). Los métodos multistep usan varios
“pasos” de la sucesión de puntos fi, xi para calcular el siguiente “paso” fi+1. El más sencillo
es el método de Verlet: 𝑓𝑖+1 = 𝑓𝑖−1 + 𝑔 𝑓𝑖 , 𝑥𝑖 ∗ 𝑥𝑖+1 − 𝑥𝑖−1 . a) (Avanzado) Deducir el
método a partir del desarrollo de Taylor de la función f(x) (Ayuda: utilizar el desarrollo
hasta orden dos para aproximar 𝑓𝑖+1 y 𝑓𝑖−1 y combinar ambas ecuaciones para cancelar el
término proporcional a ∆𝑥 2 . b) Usar el método de Verlet para resolver el ejercicio 5.4
(Ayuda: para iniciar el algoritmo hace falta conocer no solo la condición inicial, 𝑓(𝑥0 ) =
𝑓0 , si no también el siguiente paso 𝑓1 , estimarlo usando Euler).
12
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 2º orden y
sistemas de ecuaciones diferenciales.
𝑑 2 𝑓(𝑥)
′
=
𝑔
𝑓
, 𝑓, 𝑥
𝑑𝑥 2
EDO 2º orden
𝑓(𝑥0 ) = 𝑓0
𝑓′(𝑥0 ) = 𝑓′0
Vamos a resolver este problema convirtiéndolo en un sistema de dos ecuaciones
diferenciales de primero orden. Para entender mejor el procedimiento vamos a resolver el
problema de un oscilador armónico:
𝑥ሶ = 𝑣
Con las condiciones de contorno
𝑘
𝑥ሷ + 𝑥 = 0
𝑘
𝑥 𝑡0 = 𝑥0 , 𝑣 𝑡0 = 𝑣0
𝑚
𝑣ሶ = − 𝑥
𝑚
Lo que queremos calcular numéricamente es el conjunto (vector) de funciones 𝑥(𝑡), 𝑣(𝑡).
Tenemos que:
𝑑 𝑥(𝑡)
𝑣
𝑔1 (𝑥, 𝑣, 𝑡)
=
= − 𝑘Τ𝑚 𝑥
𝑔2 (𝑥, 𝑣, 𝑡)
𝑑𝑡 𝑣(𝑡)
Para resolverlo aplicaremos al mismo tiempo a x y v los métodos de resolución de EDO’s
de primer orden explicados anteriormente.
13
Unidad 5: Integración de las ecuaciones del movimiento
Computación I
Ecuaciones Diferenciales de 2º orden y
sistemas de ecuaciones diferenciales.
𝑥ሶ = 𝑣
𝑘
𝑥ሷ + 𝑥 = 0
𝑚
Solución por Euler:
Con las condiciones de contorno
𝑥 𝑡0 = 𝑥0 , 𝑣 𝑡0 = 𝑣0
𝑘
𝑣ሶ = − 𝑥
𝑚
𝑥𝑖+1 = 𝑥𝑖 + 𝑣𝑖 ∆𝑡
𝑣𝑖+1
En general:
Oscilador armónico
𝑘
= 𝑣𝑖 − 𝑥𝑖 ∆𝑡
𝑚
𝑑 2 𝑓(𝑥)
= 𝑔 𝑓 ′ , 𝑓, 𝑥
2
𝑑𝑥
∈
𝑥𝑖+1 = 𝑥𝑖 + 𝑔1 (𝑣𝑖 , 𝑥𝑖 , 𝑡)∆𝑡
𝑣𝑖+1 = 𝑣𝑖 + 𝑔2 (𝑣𝑖 , 𝑥𝑖 , 𝑡)∆𝑡
𝑓(𝑥0 ) = 𝑓0
𝑑𝑓(1) (𝑥)
= 𝑔1 𝑓(1) , 𝑓(2) , 𝑥 = 𝑓(2)
𝑑𝑥
𝑑𝑓(2) (𝑥)
= 𝑔2 𝑓(1) , 𝑓(2) , 𝑥 = 𝑔 𝑓 ′ , 𝑓, 𝑥
𝑑𝑥
𝑓′(𝑥0 ) = 𝑓′0
con:
𝑓 1 𝑥 = 𝑓(𝑥)
𝑑𝑓(𝑥)
𝑓2 𝑥 =
𝑑𝑥
14
Computación I
Unidad 5: Integración de las ecuaciones del movimiento
Ecuaciones Diferenciales de 2º orden
Oscilador armónico
Ejercicio 5.11: Calcular numéricamente mediante Euler la solución de un oscilador
armónico con k = 1 kg/s2, m = 2 kg, t0 = 0 s x0 = -1 m, v0 = 2 m/s. Representar las
soluciones numéricas y analíticas en el intervalo de tiempo [0s,80s] (usar N=1000).
Calcular y representar la energía total.
Ejercicio 5.12: Repetir el ejercicio anterior usando el método de Runge-Kutta de orden 2
(midpoint). Comparar las dos soluciones numéricas y la analítica.
Ejercicio 5.13: Oscilador armónico amortiguado. Añadir al problema anterior una fuerza
de fricción proporcional a la velocidad, -bv, con b = 0.1 Ns/m y resolver el problema en el
mismo intervalo temporal.
Ejercicio 5.14: Resolver numéricamente en el intervalo [0,10] la ecuación:
𝑑2𝑦
+ 𝑦2 − 𝑥 = 0
2
𝑑𝑥
con las condiciones de contorno y(0) = 0, y’(0) = 1
15
Computación I
Ecuaciones Diferenciales de 2º orden
Unidad 5: Integración de las ecuaciones del movimiento
Oscilador armónico
Ejercicio 5.15: Método de Verlet para fuerzas conservativas. La ecuación de movimiento
de Newton 𝑑 2 𝑥(𝑡)Τ𝑑𝑡 2 = 𝑎 𝑡 = 𝐹(𝑥, 𝑡)/𝑚 para fuerzas no dependientes de la
velocidad se puede resolver usando el siguiente algoritmo: 𝑥𝑖+1 = 2𝑥𝑖 − 𝑥𝑖−1 + 𝑎 𝑡𝑖 ∗
(∆𝑡)2 . Además de la condición inicial, 𝑥0 , 𝑣0 , necesitamos conocer la posición 𝑥1 . La
estimamos usando: 𝑥1 = 𝑥0 + 𝑣0 ∆𝑡 + 1Τ2 𝑎(𝑡0 )(∆𝑡)2 . Demostrar que este algoritmo
conserva la energía mecánica del sistema aplicándolo a la resolución del ejercicio 11.
Ejercicio 5.16: Contrariamente a lo que ocurre en la mecánica newtoniana, en relatividad
especial la aceleración de un objeto depende del sistema de referencia inercial en el que
se mide. Supongamos que un astronauta experimenta una aceleración constante igual a g
en su sistema en reposo instantáneo y que parte del reposo desde la Tierra, se pude
demostrar que 𝑎𝑥 𝑡 = 𝑑𝑣Τ𝑑𝑡 = 𝑔(1 − 𝑣 2 Τ𝑐 2 )3Τ2 .
Calcular su velocidad (medida desde la Tierra) en un instante de tiempo t (terrestre).
Calcular también qué distancia ha recorrido al cabo de un tiempo terrestre t. ¿Es posible
que supere la velocidad de la luz al cabo de un cierto tiempo?
16
Computación I
Ecuaciones Diferenciales de 2º orden
Unidad 5: Integración de las ecuaciones del movimiento
Cargas
Ejercicio 5.17: El movimiento en 1Dimension de una partícula cargada bajo la acción de
una fuerza de Coulomb no tiene solución exacta. Una carga puntual Q = 1μC se encuentra
en el origen de coordenadas. Otra carga puntual q = 1nC de masa m = 1g se lanza contra
Q en t = 0, desde x0 = -1m con velocidad v0 = 0.1m/s. Calcular numéricamente su posición
y velocidad como función del tiempo durante 20s.
Nota: Aplicando el principio de conservación de la energía, calcular analíticamente la
distancia mínima y la velocidad máxima que q puede alcanzar. Analizar si la solución
numérica cumple estos criterios.
17
Computación I
Unidad 5: Integración de las ecuaciones del movimiento
Ecuaciones Diferenciales de 2º orden
Péndulo
Ejercicio 5.18: Tenemos un péndulo de longitud L que parte del reposo desde un ángulo
inicial 𝜃0 y con una masa M (que supondremos puntual). El péndulo tiene su soporte
suspendido a cierta altura H < L de un fluido, de tal forma que al oscilar parte del
recorrido lo realiza sumergido en este. Mientras se encuentra en el fluido el objeto
experimenta una fuerza de rozamiento FR = − μ0 v , siendo la velocidad v = L dθ/dt y μ0 es
el coeficiente de rozamiento. Cuando no está en el fluido, la masa M no experimenta
ningún tipo de rozamiento.
La ec. del movimiento es 𝑀 𝑑 2 𝜃Τ𝑑𝑡 2 = − 𝑔𝑀Τ𝐿 × 𝑠𝑒𝑛𝜃 − 𝜇 𝑑𝜃Τ𝑑𝑡,
con 𝜇 = ቊ
𝜇0 dentro del fluido, 𝜃 ≤ 𝛼
0 fuera del fluido, 𝜃 > 𝛼
Realizar un script de nombre que para tres
oscilaciones completas:
A. Realice la integración de la ecuación del
movimiento.
B. Dibuje en un gráfico la posición angular 𝜃 en
función del tiempo y en otro diferente la
energía cinética, la potencial gravitatoria y la
total en función del tiempo.
Datos: L=1.0 m, H=0.6 m, M=0.1 Kg,
𝜇0 =0.025 Kg/s ,𝜃0 =1.5 rad.
18
Computación I
Unidad 5: Integración de las ecuaciones del movimiento
19