Anda di halaman 1dari 57

Ecuaciones Diferenciales

Ordinarias

Solución Numérica
EDO- Ecuación Diferencial Ordinaria

Ecuacion Diferencial : Ecuaciones que involucran


variables dependientes y sus derivadas con respecto
a las variables independientes son llamadas
ecuaciones diferenciales .
Ecuacion Diferencial Ordinaria :ecuaciones
diferenciales que involucran solamente UNA
variable independiente son llamadas ecuaciones
diferenciales ordinarias.
Ecuación Diferencial Parcial : :ecuaciones
diferenciales que involucran dos o mas variables
independiente son llamadas ecuaciones diferenciales
parciales.
Soluciones de EDOs Analítica y
Numérica
Método de Solución Analítica Método de Solución Numérica
y y

t3, y 3
t2, y 2
t1, y 1
y(0)=b

t0 , y 0

t t t

t
t

Resolver la EDO para encontrar Empieza con las condic. iniciales


una familia de soluciones. Resuelve para pequeños tamaños
Elije la solución que satisface de paso (t).
las condiciones iniciales Resuelve aprox. en cada t
correctas. Encuentra una Encuentra pares de puntos: (t0,y0),
fórmula analítica parar y(t) (t1,y1), …
Ecuaciones Diferenciales Ordinarias

 La solución analítica de la ecuación diferencial


ordinaria así como ecuaciones diferenciales
parciales se llama la " solución de la forma cerrada”
 Esta solución requiere que las constantes de la
integración estén evaluadas usando valores
prescritos de variable(s) independiente(s).
Ecuaciones Diferenciales Ordinarias

 En el mejor de los casos, solamente algunas


ecuaciones diferenciales se puede solucionar
analíticamente en una forma cerrada.

 En la mayoría de los problemas prácticos de la


ingeniería que implican ecuaciones diferenciales
requieren el uso de métodos numéricos.
Metodos de un solo paso

 El objetivo consiste en solucionar una EDO en


forma discreta, obteniendo un nuevo punto a partir
de un punto anterior
(xi+1, yi+1)=Ѳ(xi ,yi, h)
y
h

yi+1
yi
y(x)
x

xi xi+1
Método de Taylor de orden “k”
Sea una EDO de primer orden:

y   f  x, y 
y  x0   y0
x  a, b
Podemos usar la serie de Taylor para aproximar la solución de la
EDO, haciendo:
y '  xi   y 'i
Metodo de Euler

 Permite resolver una EDO de primer orden de la


forma: dy
 f  x, y 
dx y h
y  x0   y0
yi+1
Dado x0 , y0  y h yi
Para n  0, 1, 2, 
x
xn 1  xn  h
yn 1  yn  hf  xn , yn  xi xi+1

Valor nuevo = Valor anterior + (Tamaño del paso) x (Pendiente)


Análisis del Error -Método de
Euler

Error de truncación - causado por la naturaleza


de la técnica empleada para aproximar los valores
de y
 Error local de truncación (a partir de la Serie de
Taylor)
 Propagación del error de truncación
 Suma de los dos es el error global
Error de Redondeo – causado por el numero
limitados de dígitos significativos que pueden ser
retenidos por computadora o calculadora
Método de Euler – Ejemplo
0.8

0.6

y'   y  1
0.4
y 0  0
y
h  0.1
Numerical
0.2
Exact

0
0

1
0.25

0.75

1.25
0.5

t
t
solución Analítica y  1  e
Método de Euler – Ejemplo
n tn yn fn= - yn+1 yn+1= yn+∆t fn

0 0 0.000 1.000 0.100

1 0.1 0.100 0.900 0.190


2 0.2 0.190 0.810 0.271

3 0.3 0.271 0.729 0.344


4 0.4 0.344 0.656 0.410
5 0.5 0.410 0.590 0.469
6 0.6 0.469 0.531 0.522
7 0.7 0.522 0.478 0.570
8 0.8 0.570 0.430 0.613
9 0.9 0.613 0.387 0.651
Método de Euler Mejorado o
Heun
 Un error fundamental en el método de Euler es
que se asume la derivada en el principio del
intervalo para aplicarse a través de todo el
intervalo.
 Una simple modificación será demostrada.
 Esta modificación pertenece realmente a una clase
más grande de las técnicas de solución llamadas
Runge-Kutta que exploremos más adelante.
Método de Heun
Considere la siguiente expansión de Taylor:

Aproxime f’ con una diferencia progresiva

f  x i 1 , y i 1   f  x i , y i 
f '  x i , yi  
h
Método de Heun
Substituyendo en la expansión

f 
 i 1 i 
f h 2
 f i 1  f i 
y i 1  y i  f i h   yi   h
 h  2  2 
Método de Heun

Determine las derivadas para el intervalo


 Punto inicial
 Punto final (basado en el paso de Euler a partir del punto
inicial)
Use el promedio para obtener una estimación mejorada de la
pendiente para el intervalo completo
Podemos pensar en el paso de Euler como paso de prueba.
y

Evaluar la pendiente en xi
h La proyección consigue f(xi+1 )
Basado en el tamaño del paso h

xi xi+1
y

xi xi+1
y

Ahora determine la pendiente


en xi+1

xi xi+1
y

xi xi+1
Tomar los promedios de estas
dos pendientes
y

xi xi+1
y

Use esta pendiente


“promedio” para predecir
yi+1

xi xi+1

yi 1  yi  {
f  xi , yi   f xi 1 , yi 1 
2
h
y

Use esta pendiente


“promedio” para predecir
yi+1

xi xi+1

yi 1  yi 
{
f  xi , yi   f xi 1 , yi 1 
h
2
y

y i 1  y i 
 
f  x i , y i   f x i 1 , y i 1
h
2

xi xi+1

x
xi xi+1
f  xi , yi   f xi 1 , yi 1 
yi 1  yi  h
2

y i 1  y i  h

x
xi xi+1
Metodo de Runge-Kutta de
orden 2
 A partir del método de Heun podemos deducir el
método de Runge-Kutta
dy
 f  x, y 
Dado x0 , y0  y h
dx Para n  0, 1, 2, 
y  x0   y0
xn 1  xn  h
k1  hf  xn , yn 
k 2  hf  xn  h, yn  k1 
k1  k 2
yn 1  yn 
2
Metodo de Runge-Kutta de
orden 4
Dado x0 , y0  y h
Para n  0 , 1, 2 , 
 f  x, y 
dy x n 1  x n  h
dx k 1  hf  x n , y n 
y  x0   y0  h k 
k 2  hf  x n  , y n  1 
 2 2 
 h k2 
k 3  hf  x n  , y n  
 2 2 
k 4  hf  x n  h , y n  k 3 
k1  2 k 2  2 k 3  k 4
y n 1  y n 
6
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Los métodos para solucionar una ecuacion
diferencial de primer orden pueden ser adaptados a
la solución de sistemas de primer orden.
 f1  x, y1 , y2 ,  , yn  y1 x 0    y1
dy1 0 
dx
 f 2  x, y1 , y2 ,  , yn  y2 x 0    y2
dy2 0 
dx

 f n  x, y1 , y2 ,  , yn  yn x   yn
dyn 0  0 
dx
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Por ejemplo sea el siguiente sistema de dos
ecuaciones diferenciales ordinarias de primer
orden:
 f1  x, y, z  y  x0   y0
dy
dx
 f 2  x, y, z  z  x0   z0
dz
dx

Donde busca aproximar y(x) y z(x)


Sistemas de Ecuaciones
Diferenciales de Primer Orden
Resolver el siguiente Problema de Valor Inicial que
consta de dos EDOs de primer orden:

 x  y  z y 1  1
dy
dx
 x 2  y  z z 1  2
dz
dx

Donde busca aproximar y(1.2) y z(1.2)


Sistemas de Ecuaciones
Diferenciales de Primer Orden
Plantearemos el algoritmo para el método de Euler:
xn 1  xn  h
yn 1  yn  hyn '
z n 1  z n  hz n '
x0  1 y0  1 z0  2
xn 1  xn  h
yn 1  yn  h xn  yn  z n 

z n 1  z n  h xn  yn  z n
2

Sistemas de Ecuaciones
Diferenciales de Primer Orden
Reemplanzado valores:
x0  1 y0  1 z0  2 h  0.1
x1  x0  h  1.1
y1  y0  h x0  y0  z0   1.4
 
z1  z0  h x0  y0  z0  2.2
2

x2  x1  h  1.2
y2  y1  h x1  y1  z1   1.87
 
z 2  z1  h x1  y1  z1  2.401
2
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Se tiene una solución aproximada en forma
discreta:
n xn yn zn
0 1 1 2
1 1.1 1.4 2.2
2 1.2 1.87 2.401
Sistemas de Ecuaciones
Diferenciales de Primer Orden
Si queremos mejorar la exactitud del resultado
podemos usar un paso h mas pequeño o usar
Taylor, por ejemplo de orden 2 sería:
xn 1  xn  h
yn 1  yn  hyn ' h 2 / 2 * yn ' '
z n 1  z n  hz n ' h 2 / 2 * z n ' '
xn 1  xn  h
yn 1  yn  h xn  yn  z n   h 2 / 2 * 1  yn ' z n '
 
z n 1  z n  h xn  yn  z n  h 2 / 2 * 2 xn  yn ' z n '
2
Sistemas de Ecuaciones
Diferenciales de Primer Orden
También se puede hacer una adaptación del método
de Runge-Kutta 2 xn 1  xn  h
k1  hf  xn , yn , z n 
l1  hg  xn , yn , z n 
k 2  hf  xn  h, yn  k1 , z n  l1 
l2  hg  xn  h, yn  k1 , z n  l1 

yn 1  yn  k1  k 2 
1
2
z n 1  z n  l1  l2 
1
2
Ecuaciones Diferenciales
orden Superior
Los problemas de valor inicial de mayor orden
pueden ser transformados en un sistema de
ecuaciones diferenciales de primer orden.

n
d y  dy d y
n -1

n
 g  t , y, ,  , n -1 
dt  dt dt 
Ecuaciones Diferenciales
orden Superior
Por ejemplo, sea la EDO de tercer orden:

d3y  dy d 2 y 
3
 g  t , y, , 2 
dt  dt dt 
y t0   y0
dy
t0   y '0
dt
d2y
2
t0   y ' '0
dt
Ecuaciones Diferenciales
orden Superior
La EDO de tercer orden se transforma en un sistema
de 3 ecuaciones de primer orden:
dy
z y t0   y0
dt
z t0   t0   y '0
dy
dz
w dt
dt d2y
wt0   2 t0   y ' '0
 g t , y, z , w
dw dt
dt
Ecuaciones Diferenciales
orden Superior

Considere una ecuación


diferencial de segundo orden de
un sistema de masa y resorte
vibratorio
2
d x dx
m 2  c  kx  0
dt dt
Las cond. iniciales son x(0) =x0
y x’(0) =0.
Ecuaciones Diferenciales
orden Superior
Re-escribir la ecuación:

 c dx k 
2
d x
   x
 m dt m 
2
dt
La primera derivada puede ser escrita:

2
dx dv d x
v y  2
dt dt dt
Ecuaciones Diferenciales
orden Superior
La ecuación puede ser escrita como un conjunto
de dos ecuaciones de primer orden.
dx
v
dt
dv c k 
  v  x 
dt m m 
Las condiciones iniciales: x(0) = x0 y v(0) = 0.
Sistemas de Valor Inicial
Problemas
Las ecuaciones pueden ser definidas:

 f1 t , x, v   v
dx
dt
c k 
 f 2 t , x, v    v  x 
dv
dt m m 
Sistemas de Valor Inicial
Problemas
Podemos aplicar Euler:

 xi  t f1 ti , xi , vi 
dxi
xi 1  xi  t
dt
 vi  t f 2 ti , xi , vi 
dv
vi 1  vi  t
dt
Diferenciales mayor-orden
Problemas Ejemplo

Considere una ecuación diferencial de segundo


orden para sistemas de masa-resorte vibrante.
2 2
d x k d x
2
 x  2  4x  0
dt m dt
Las condiciones iniciales son x(0) =0.2, x’(0) =0
y ∆t = 0.02. (Solución Exacta = 0.2 cos(2t))
Problema Ejemplo
La ecuación puede ser escrita como un conjunto de
dos ecuaciones de primer orden.
dx
v
dt
dv
 4 x
dt
Las condiciones iniciales, x(0) = 0.2 y v(0) = 0.
Problema Ejemplo
El desarrollo del método de Euler.

t x v dx/dt dv/dt Valor exacto


0 0,2 0 0 -0,8 0,2
0,02 0,2 -0,016 -0,016 -0,8 0,19984002
0,04 0,19968 -0,032 -0,032 -0,79872 0,19936034
0,06 0,19904 -0,04797 -0,0479744 -0,79616 0,19856173
0,08 0,198081 -0,0639 -0,0638976 -0,79232205 0,19744546
0,1 0,196803 -0,07974 -0,07974404 -0,78721024 0,19601332
0,12 0,195208 -0,09549 -0,09548825 -0,78083072 0,19426759
0,14 0,193298 -0,1111 -0,11110486 -0,77319166 0,19221109
0,16 0,191076 -0,12657 -0,12656869 -0,76430327 0,18984708
0,18 0,188544 -0,14185 -0,14185476 -0,75417777 0,18717936
0,2 0,185707 -0,15694 -0,15693831 -0,74282939 0,1842122
0,22 0,182569 -0,17179 -0,1717949 -0,73027433 0,18095033
0,24 0,179133 -0,1864 -0,18640039 -0,71653073 0,17739898
0,26 0,175405 -0,20073 -0,200731 -0,7016187 0,17356384
0,28 0,17139 -0,21476 -0,21476338 -0,68556022 0,16945102
0,3 0,167095 -0,22847 -0,22847458 -0,66837915 0,16506712
Problema Ejemplo

Euler Example
 Ejemplo
xi1  xi  t *vi 
0.5
x
0.4
v

vi1  vi  t * 4xi 


0.3
actual value
0.2

Displacement
0.1

0
0 0.5 1 1.5 2
-0.1

 Se puede observar un -0.2

-0.3
error que cada vez se -0.4

irá incrementando. -0.5


Time (t)
Problema Ejemplo

Las ecuaciones son definidas como funciones.

 f1 t , x, v   v
dx
dt
 f 2 t , x, v   4 x
dv
dt
Las condiciones iniciales, x(0) = 0.2 and v(0) = 0.
Problema Ejemplo
Los componentes de Runge-Kutta:

k1,1  t * f1 ti , xi , vi 
k1, 2  t * f 2 ti , xi , vi 

 t   t 1 1 
1
k 2,1  t * f1  ti  , xi  k1,1 , vi  k1, 2 
1 k 2, 2  t * f 2  ti  , xi  k1,1 , vi  k1, 2 
 2 2 2   2 2 2 
 t 1 1   t 1 1 
k3,1  t * f1  ti  , xi  k 2,1 , vi  k 2, 2  k3, 2  t * f 2  ti  , xi  k 2,1 , vi  k 2, 2 
 2 2 2   2 2 2 
k 4,1  t * f1 ti  t , xi  k3,1 , vi  k3, 2  k 4, 2  t * f 2 ti  t , xi  k3,1 , vi  k3, 2 

ki,j donde i es el paso y j es la función.


Problema Ejemplo

La actualización de un sólo paso:

xi 1  xi  k1,1  2 * k 2,1  2 * k3,1  k 4,1 


1
6
vi 1  vi  k1, 2  2 * k 2, 2  2 * k3, 2  k 4, 2 
1
6

Use los valores iniciales x(0) = 0.02 y v(0) = 0


Ejemplo Metodo de
Runge-Kutta de 4 Orden
th

t x v k 11 k 12 k 21 k 22 k 31 k 32 k 41 k 42 Exacto
0 0,2 0 0 -0,016 -0,00016 -0,016 -0,00016 -0,01599 -0,00032 -0,016 0,2
0,02 0,19984 -0,016 -0,00031991 -0,0159872 -0,00047979 -0,01597 -0,00048 -0,01597 -0,000639 -0,016 0,1998
0,04 0,19936 -0,03197 -0,00063932 -0,01594883 -0,00079881 -0,01592 -0,0008 -0,01592 -0,000958 -0,016 0,1994
0,06 0,198562 -0,04788 -0,0009577 -0,01588494 -0,00111655 -0,01585 -0,00112 -0,01584 -0,001275 -0,016 0,1986
0,08 0,197445 -0,06373 -0,00127455 -0,01579564 -0,0014325 -0,01574 -0,00143 -0,01574 -0,001589 -0,016 0,1974
0,1 0,196013 -0,07947 -0,00158935 -0,01568107 -0,00174617 -0,01562 -0,00175 -0,01561 -0,001902 -0,016 0,196
0,12 0,194268 -0,09508 -0,00190162 -0,01554141 -0,00205704 -0,01547 -0,00206 -0,01546 -0,002211 -0,015 0,1943
0,14 0,192211 -0,11054 -0,00221085 -0,01537689 -0,00236461 -0,01529 -0,00236 -0,01528 -0,002516 -0,015 0,1922
0,16 0,189847 -0,12583 -0,00251653 -0,01518777 -0,00266841 -0,01509 -0,00267 -0,01508 -0,002818 -0,015 0,1898

 f1 t , x, v   v
dx
dt
 f 2 t , x, v   4 x
dv
dt
Ejemplo Metodo de Runge-
Kutta de 4th Orden
 Los puntos tienen 4th order Runge Kutta Example
menos error que el 0.5
método de Euler. 0.4
v
x
0.3
actual value
0.2

Displacement
0.1
 La aproximación 0

depende del tamaño -0.1


0 0.5 1 1.5 2 2.5

-0.2
del paso del problema -0.3

-0.4

-0.5
Time (t)
Sistemas de EDO -
Problema Valor Inicial

Estas técnicas pueden trabajar con grandes


sistemas de ecuaciones para realizar una serie de
integraciónes del problema. Las ecuaciones se
pueden solucionar como serie de EDOs.
Sistemas de EDO -
Problema Valor Inicial

d 2 y1 dy1
m1 2  c1  k1 y1  0
dt dt
d 2 y2  dy2 dy1 
m2  c2     k 2  y2  y1   0
 dt dt 
2
dt

Dando un conjunto de valores iniciales, y1,y2,y’1 e


y’2.
Sistemas de EDO -
Problema Valor Inicial
El problema es formado por 4 EDOs de primer orden
con cuatro variables y condiciones iniciales.
dy1
 v1
dt
dv1  c1 k1 
   v1  y1 
dt  m1 m1 
dy2
 v2
dt
 c2 
   v2  v1    y2  y1 
dv2 k2
dt  m2 m2 
Sistemas de EDO -
Problema Valor Inicial
El problema puede ser escrito en el formato matricial
y solucionado por consiguiente
.  dy1 
 dt   0 1 0 0 
 dv   k1 c   y1 
 1    1 0 0  
 dt  m1 m1  v1 

 dy   0 
0 0 1   y2 
 2  k c2 k2 c2   
 dt   2    v2 
 dv2   m2 m2 m2 m2 
 dt 
Sistemas de EDO -
Problema Valor Inicial
Fuerzas pueden ser añadidas y fijadas para solucionar
las ecuaciones.
 dy1 
 dt   0 1 0 0 
 dv   k1 c   y1   0 
 1    1 0 0    
 dt  m1 m1  v1   F1 sin 1t 
 dy    0 0 0

1   y2  
 
 2  k c2 k c2    
0 
 dt   2  2   v2   F2 sin  2t 
 dv2   m2 m2 m2 m2 
 dt 
Sistemas de EDO -
Problema Valor Frontera
Cuando las condiciones la EDO se dan por lo menos
en algún punto diferente del valor inicial de la
variable independiente.

M x 
y" 
EI

Condiciones de Frontera Condiciones Iniciales


y(0)=0 y(L)=0 y(0)=0 y’(0)=0

Anda mungkin juga menyukai