P. 1
9 Ecuaciones Diferenciales Ordinarias

9 Ecuaciones Diferenciales Ordinarias

|Views: 4|Likes:
Publicado porJhose Silva

More info:

Published by: Jhose Silva on Jun 05, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPTX, PDF, TXT or read online from Scribd
See more
See less

07/06/2014

pdf

text

original

Sections

  • Ejemplo Metodo de Runge-Kutta de 4th Orden
  • Sistemas de EDO - Problema Valor Inicial

Ecuaciones Diferenciales
Ordinarias

Solución Numérica

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.

EDO- Ecuación Diferencial Ordinaria

Soluciones de EDOs Analítica y
Numérica

Resolver la EDO para encontrar
una familia de soluciones.

Elije la solución que satisface
las condiciones iniciales
correctas. Encuentra una
fórmula analítica parar y(t)

Empieza con las condic. iniciales

Resuelve para pequeños tamaños
de paso ( t).

Resuelve aprox. en cada t

Encuentra pares de puntos: (t0,y0),
(t1,y1), …

y(0)=b

t

y

t0, y0

t1, y1

t2, y2

t3, y3

t

t

t

y

t

Método de Solución Analítica

Método de Solución Numérica

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

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

y

x

yi

h

yi+1

xi

xi+1

y(x)

(xi+1, yi+1)=Ѳ(xi ,yi, h)

Método de Taylor de orden “k”

b

a

x

y

x

y

y

x

f

y

,

,

0

0

Sea una EDO de primer orden:

Podemos usar la serie de Taylor para aproximar la solución de la
EDO, haciendo:

i
i y

x

y

'

'

Método de Taylor de orden “k”

Podemos plantear el algoritmo siguiente:

k

i

k

i

i

i

i

i

i

i

y

k

h

y

h

y

h

y

h

y

y

h

x

x

i

Para

h

y

y

x

Dado

!

'

'

'

!

3

'

'

!

2

'

,

3

,

2

,
1

,

:

3

2

1

1

0

0

Siendo E el error de truncamiento.

1

1

1

!

1

i

i

k

k

x

x

y

k

h

E

Método de Taylor de orden “k”

Ejemplo:- Estime y(x) para x=0.1, 0.2, 0.3, 0.4 y 0.5, usando
Taylor de orden 3

Solución

1
0

1

2

1

'

2

y

y

x

y

'

'

1

'

1

'

2

'

'

'

'

1

2

1

'

'

2

2

yy

x

y

x

yy

y

yy

x

y

y

Método de Taylor de orden “k”

'

'

'

6

'

'

2

'

4

...,

,

0

1

0

3

2

1

1

0

0

n

n

n

n

n

n

n

y

h

y

h

hy

y

y

h

x

x

n

para

y

x

Método de Taylor de orden “k”

2

2

4

4

:

x

x

x

y

Exacto

Método de Taylor de orden “k”

Metodo de Euler

Permite resolver una EDO de primer orden de la
forma:

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

y

x

yi

h

yi+1

0
0

,

y

x

y

y

x

f

dx

dy

n

n

n

n

n

n

y

x

hf

y

y

h

x

x

n

Para

h

y

y

x

Dado

,

,

2

,
1

,

0

,

1

1

0

0


xi

xi+1

Metodo de Euler

La primera derivada proporciona un estimado
directo de la pendiente en xi

La ecuación es aplicada iterativamente, un paso
a la vez, sobre una distancia pequeña para
reducir el error

Por esto se conoce como método de un solo
paso.

EJEMPL0

2

4

=

dy

x

dx

Para la condición inicial y(1)=1, determine y para
h = 0.1 analíticamente y usando el método de
Euler:

2

3

3

dy

4x

dx
I.C.y1atx1

4

y

xC

3

1

C

3

4

1

y

x

3

3
y1.11.44133

2

i1

i

2

2

dy

4x

dx
y

y

h

y1.1y1

41

0.11.4

Note:

y1.1y1

41

0.1


dy/dx

C.I..

Tamaño del
paso

Recordar la solución analítica fue 1.4413.Si
reducimos el tamaño del paso a 0,05 y
aplicamos Euler dos veces

Recordar la solución analítica es 1.4413

2

2

y(1.05)y(1)41

1.051.0010.21.2

y1.1y1.05

41.05

1.11.051.4205


Obtenemos:

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

0.2

0.4

0.6

0.8

0

0.25

0.5

0.75

1

1.25

t

Exact

Numerical

y

t

e

y

1

solución Analítica

1

.

0

0

0

1

'

h

y

y

y

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

i1i1

ii

ii

fx,y

fx,y

'x,

f

y

h

Substituyendo en la expansión

2

i1

i

i1

i

i1

i

i

i

f

fh

f

f

y

yfh

y

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.

Método de Heun

y

xi xi+1

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

h

y

xi xi+1

h

y

xi xi+1

Ahora determine la pendiente
en xi+1

y

xi xi+1

Tomar los promedios de estas
dos pendientes

y

xi xi+1

y

xi xi+1

Use esta pendiente
“promedio” para predecir

yi+1

h

y

x

f

y

x

f

y

y

i

i

i

i

i

i

2

,

,

1

1

1

{

y

xi xi+1

h

y

x

f

y

x

f

y

y

i

i

i

i

i

i

2

,

,

1

1

1

{

Use esta pendiente
“promedio” para predecir

yi+1

y

xi xi+1

y

x

xi xi+1

h

y

x

f

y

x

f

y

y

i

i

i

i

i

i

2

,

,

1

1

1

y

x

xi xi+1

h

y

x

f

y

x

f

y

y

i

i

i

i

i

i

2

,

,

1

1

1

h

y

y

i

i

1

Metodo de Euler Mejorado
(Heun)

Permite resolver una EDO de primer orden de la
forma:

0
0

,

y

x

y

y

x

f

dx

dy


2

,

,

,

,

2

,
1

,

0

,

1

*

1

1

1

*

1

0

0

n

n

n

n

n

n

n

n

n

n

n

n

y

x

f

y

x

f

h

y

y

y

x

hf

y

y

h

x

x

n

Para

h

y

y

x

Dado

Metodo de Euler Mejorado
(Heun)

Ejemplo

??
5

.

1

1

.

0

1

1

2

'

y

h

y

xy

y

232

.

1

2

2

2

2

,

,

2

.

1

2

,

1

.

1

1

.

0

1

1

1

*

1

1

0

0

0

1

*

1

1

0

0

0

1

0

0

0

0

0

0

1

*

0

1

0

0


y

y

x

y

x

h

y

y

y

x

f

y

x

f

h

y

y

y

x

h

y

y

x

hf

y

y

h

x

x

h

y

x

Metodo de Euler Mejorado
(Heun)

Ejemplo

Metodo de Runge-Kutta de
orden 2

A partir del método de Heun podemos deducir el
método de Runge-Kutta

0
0

,

y

x

y

y

x

f

dx

dy


2

,

,

,

2

,
1

,

0

,

2

1

1

1

2

1

1

0

0

k

k

y

y

k

y

h

x

hf

k

y

x

hf

k

h

x

x

n

Para

h

y

y

x

Dado

n

n

n

n

n

n

n

n

Metodo de Runge-Kutta de
orden 2

Ejemplo


??
1

.

1

1

1

2

y

y

xy

dx

dy


232

.

1

2

264

.

0

2

,

2

.

0

2

,

1

.

1

1

.

0

1

1

2

1

1

1

0

0

1

0

0

2

0

0

0

0

1

0

1

0

0

k

k

y

y

k

y

h

x

h

k

y

h

x

hf

k

y

x

h

y

x

hf

k

h

x

x

h

y

x

n

n

Se obtienen los mismos resultados que el método de Euler
Mejorado

Metodo de Runge-Kutta de
orden 4

0
0

,

y

x

y

y

x

f

dx

dy

6

2

2

,

2

,

2

2

,

2

,

,

2

,
1

,

0

,

4

3

2

1

1

3

4

2

3

1

2

1

1

0

0

k

k

k

k

y

y

k

y

h

x

hf

k

k

y

h

x

hf

k

k

y

h

x

hf

k

y

x

hf

k

h

x

x

n

Para

h

y

y

x

Dado

n

n

n

n

n

n

n

n

n

n

n

n





Metodo de Runge-Kutta de
orden 4

1
1

2

y

xy

dx

dy

1.23367805

exacto

Valor

23367435

.

1

6

2

2

2715361

.

0

2

,

234255

.

0

2

2

2

2

,

2

231

.

0

2

2

2

2

,

2

2

.

0

2

,

1

.

0

1

.

0

1

1

4

3

2

1

0

1

3

0

0

3

0

0

4

2

0

0

2

0

0

3

1

0

0

1

0

0

2

0

0

0

0

1

0

1

0

0













k

k

k

k

y

y

k

y

h

x

h

k

y

h

x

hf

k

k

y

h

x

h

k

y

h

x

hf

k

k

y

h

x

h

k

y

h

x

hf

k

y

x

h

y

x

hf

k

h

x

x

h

y

x

Los métodos para solucionar una ecuacion
diferencial de primer orden pueden ser adaptados a
la solución de sistemas de primer orden.




0

0

2

1

0

2

0

2

2

1

2

2

0

1

0

1

2

1

1

1

,

,

,

,

,

,

,

,

,

,

,

,

n

n

n

n

n

n

n

y

x

y

y

y

y

x

f

dx

dy

y

x

y

y

y

y

x

f

dx

dy

y

x

y

y

y

y

x

f

dx

dy

Sistemas de Ecuaciones
Diferenciales de Primer Orden

Por ejemplo sea el siguiente sistema de dos
ecuaciones diferenciales ordinarias de primer
orden:

0
0

2

0

0

1

,

,

,

,

z

x

z

z

y

x

f

dx

dz

y

x

y

z

y

x

f

dx

dy

Sistemas de Ecuaciones
Diferenciales de Primer Orden

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

Resolver el siguiente Problema de Valor Inicial que
consta de dos EDOs de primer orden:

2
1

1

1

2

z

z

y

x

dx

dz

y

z

y

x

dx

dy

Sistemas de Ecuaciones
Diferenciales de Primer Orden

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

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

z

y

x

h

z

z

z

y

x

h

y

y

h

x

x

z

y

x

hz

z

z

hy

y

y

h

x

x


2

1

1

1

0

0

0

1

1

1

2

1

1

'

'

Sistemas de Ecuaciones
Diferenciales de Primer Orden

Plantearemos el algoritmo para el método de Euler:

401

.

2

87

.

1

2

.

1

2

.

2

4

.

1

1

.

1

1

.

0

2

1

1

1

1

2

1

1

2

1

1

1

1

2

1

2

0

0

2

0

0

1

0

0

0

0

1

0

1

0

0

0



z

y

x

h

z

z

z

y

x

h

y

y

h

x

x

z

y

x

h

z

z

z

y

x

h

y

y

h

x

x

h

z

y

x

Sistemas de Ecuaciones
Diferenciales de Primer Orden

Reemplanzado valores:

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

'

'

2

*

2

/

'

'

1

*

2

/

'

'

*

2

/

'

'

'

*

2

/

'

2

2

1

2

1

1

2

1

2

1

1

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

z

y

x

h

z

y

x

h

z

z

z

y

h

z

y

x

h

y

y

h

x

x

z

h

hz

z

z

y

h

hy

y

y

h

x

x



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:

2

1

1

2

1

1

1

1

2

1

1

2

1

1

1

2

1

2

1

,

,

,

,

,

,

,

,

l

l

z

z

k

k

y

y

l

z

k

y

h

x

hg

l

l

z

k

y

h

x

hf

k

z

y

x

hg

l

z

y

x

hf

k

h

x

x

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

Sistemas de Ecuaciones
Diferenciales de Primer Orden

También se puede hacer una adaptación del método
de Runge-Kutta 2

Los problemas de valor inicial de mayor orden
pueden ser transformados en un sistema de
ecuaciones diferenciales de primer orden.



1

-

n

1

-

n

n

n

,

,

,

,

dt

y

d

dt

dy

y

t

g

dt

y

d

Ecuaciones Diferenciales
orden Superior

Por ejemplo, sea la EDO de tercer orden:

Ecuaciones Diferenciales
orden Superior

0

0

2

2

0

0

0

0

2

2

3

3

'

'

'

,

,

,

y

t

dt

y

d

y

t

dt

dy

y

t

y

dt

y

d

dt

dy

y

t

g

dt

y

d



La EDO de tercer orden se transforma en un sistema
de 3 ecuaciones de primer orden:

Ecuaciones Diferenciales
orden Superior

0

0

2

2

0

0

0

0

0

0

'

'

'

y

t

dt

y

d

t

w

y

t

dt

dy

t

z

y

t

y

w

z

y

t

g

dt

dw

w

dt

dz

z

dt

dy

,

,

,

Considere

una

ecuación
diferencial de segundo orden de
un sistema de masa y resorte
vibratorio

Las cond. iniciales son x(0) =x0
y x’(0) =0.

0

2

2


kx
dt

dx

c

dt

x

d

m

Ecuaciones Diferenciales
orden Superior

Re-escribir la ecuación:

La primera derivada puede ser escrita:



x

m

k

dt

dx

m

c

dt

x

d

2

2

2

2

y

dt

x

d

dt

dv

v

dt

dx

Ecuaciones Diferenciales
orden Superior

La ecuación puede ser escrita como un conjunto
de dos ecuaciones de primer orden.

Las condiciones iniciales: x(0) = x0 y v(0) = 0.



x

m

k

v

m

c

dt

dv

v

dt

dx

Ecuaciones Diferenciales
orden Superior

Sistemas de Valor Inicial
Problemas

Las ecuaciones pueden ser definidas:



x

m

k

v

m

c

v

x

t

f

dt

dv

v

v

x

t

f

dt

dx

,

,

,

,

2

1

Podemos aplicar Euler:

i

i

i

i

i

i

v

x

t

f

t

v

dt

dv

t

v

v

v

x

t

f

t

x

dt

dx

t

x

x

,

,

,

,

2

i

i

1

i

1

i

i

i

1

i

Sistemas de Valor Inicial
Problemas

Diferenciales mayor-orden
Problemas Ejemplo

Considere una ecuación diferencial de segundo
orden para sistemas de masa-resorte vibrante.

Las condiciones iniciales son x(0) =0.2, x’(0) =0
y t = 0.02. (Solución Exacta = 0.2 cos(2t))

0

4

2

2

2

2

x

dt

x

d

x

m

k

dt

x

d

Problema Ejemplo

La ecuación puede ser escrita como un conjunto de
dos ecuaciones de primer orden.

Las condiciones iniciales, x(0) = 0.2 y v(0) = 0.

x

dt

dv

v

dt

dx

4

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

Ejemplo

Se puede observar un
error que cada vez se
irá incrementando.

Euler Example

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0

0.5

1

1.5

2

Time (t)

Displacement

x

v

actual value


i

i

1

i

i

i

1

i

4

*

*

x

t

v

v

v

t

x

x


Las ecuaciones son definidas como funciones.

Las condiciones iniciales, x(0) = 0.2 and v(0) = 0.

x
v

x

t

f

dt

dv

v

v

x

t

f

dt

dx

4

,

,

,

,

2

1

Problema Ejemplo

Los componentes de Runge-Kutta:

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

2,
3

i

1,
3

i

i

1

1,
4

2,
2

i

1,
2

i

i

1

1,
3

2,
1

i

1,
1

i

i

1

1,
2

i

i

i

1

1,
1

,

,

*

2

1

,

2

1

,

2

*

2

1

,

2

1

,

2

*

,

,

*

k

v

k

x

t

t

f

t

k

k

v

k

x

t

t

f

t

k

k

v

k

x

t

t

f

t

k

v

x

t

f

t

k





2,
3

i

1,
3

i

i

2

2,
4

2,
2

i

1,
2

i

i

2

2,
3

2,
1

i

1,
1

i

i

2

2,
2

i

i

i

2

2,
1

,

,

*

2

1

,

2

1

,

2

*

2

1

,

2

1

,

2

*

,

,

*

k

v

k

x

t

t

f

t

k

k

v

k

x

t

t

f

t

k

k

v

k

x

t

t

f

t

k

v

x

t

f

t

k





Problema Ejemplo

La actualización de un sólo paso:

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

2

,

4

2

,

3

2

,

2

2

,
1

i

1

i

1,

4

1,

3

1,

2

1,
1

i

1

i

*

2

*

2

6

1

*

2

*

2

6

1

k

k

k

k

v

v

k

k

k

k

x

x

Problema Ejemplo

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->