Post on 01-Aug-2020
transcript
Trabajo dirigido: métodos de paso variable (RK45)
Trabajo dirigido: métodos de paso variable (RK45)
Laboratori de Càlcul Numèric (LaCàN)
Departament de Matemàtica Aplicada III
Universitat Politècnica de Catalunya (Barcelona)
http://www-lacan.upc.es
Laboratori de Càlcul Numèric (LaCàN)
Departament de Matemàtica Aplicada III
Universitat Politècnica de Catalunya (Barcelona)
http://www-lacan.upc.es
métodos de paso variable (RK45)métodos de paso variable (RK45)
Control del error y paso variableControl del error y paso variable
� Método de paso simple de orden p: error local
� Objetivo
Calculada la solución en xi, determinar h* para que el error Calculada la solución en xi, determinar h* para que el error
en xi+1 sea menor que una tolerancia dada
EDOs· 2
Control del error y paso variableControl del error y paso variable
1. Cálculo de Yi+1 con h cualquiera (h del paso anterior)
2. Estimar/aproximar el error Eh cometido comparando con
otro resultado con mayor precisión:
(a) con el mismo método y longitud de paso h menor o
(b) con un método de orden p+1 o mayor
3. Calcular h* utilizando la expresión del error3. Calcular h* utilizando la expresión del error
EDOs· 3
RKF45 (Runge-Kutta-Fehlberg 45)RKF45 (Runge-Kutta-Fehlberg 45)
aij y bj para calcular ki
EDOs· 4
bi para el método de orden 4
bi* para el método de
orden 5
ei=bi*-bi para calcular el error
RKF45 (Runge-Kutta-Fehlberg 45)RKF45 (Runge-Kutta-Fehlberg 45)
6 evaluaciones de f
EDOs· 5
Ejercicio 1Ejercicio 1
� Utilizar la función ode45 de Matlab para resolver:
1. Escribir una función de matlab que permita evaluar el 1. Escribir una función de matlab que permita evaluar el
término de la derecha de la EDO
2. Utilizar la función ode45 para resolver el problema.
• Consultar la ayuda del programa para saber como se
define el intervalo de resolución y las condiciones
iniciales.
3. Representar la solución
• Observar el paso utilizado
EDOs· 6
EDOs· 70 0.5 1 1.5
0
5
10
15
20
25Solución
0 10 20 30 40 500.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04Paso h
Ejercicio 2Ejercicio 2
� Utilizar la función ode45 de Matlab para resolver
EDOs· 8
0 0.2 0.4 0.6 0.8 1-0.5
0
0.5
1Solución
y
dy
0 10 20 30 40 50 600
0.005
0.01
0.015
0.02
0.025
0.03Paso h
Ejercicio 3Ejercicio 3
� Tiro parabólico con rozamiento
EDOs· 9 EDOs· 10
EjercicioEjercicio
1. Resolver el problema utilizando la función ode45 de Matlab.
Considerar R = 0.00132 , v0 = 100 m/s, θ = π/4, tf = 20s
2. Dibujar la solución obtenida
• Observar el paso variable
3. Dibujar la trayectoria del proyectil ¿Tiene sentido?
800Solución con ode45
200Trayectoria
EDOs· 11
0 5 10 15 20-600
-400
-200
0
200
400
600
800
t
x
y
vx
vy
0 100 200 300 400 500 600 700 800-600
-500
-400
-300
-200
-100
0
100
200
x
y