Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/313424941
CITATIONS READS
0 119
All content following this page was uploaded by Francisco Javier Palencia-Gonzlez on 07 February 2017.
The user has requested enhancement of the downloaded file. All in-text references underlined in blue are added to the original document
and are linked to publications on ResearchGate, letting you access and read them immediately.
Equation Chapter 1 Section 1Monogrfico: Mtodos Cuantitativos e Informtica. Rect@
Paginas---- a ----.
RESUMEN: En este artculo se va a tratar de encontrar aproximaciones, de tipo numricos y grfico, a las soluciones de
problemas de valor inicial,(PVI), de ecuaciones diferenciales ordinarias (EDO) mediante el uso de la hoja de clculo
Excel, la cual va a permitir realizarlo con cierta facilidad.
Se va a buscar la aproximacin a la solucin de dos formas distintas, bien mediante la realizacin de una plantilla de un
mtodo numrico, bien mediante la programacin en VBA del mtodo en cuestin. En el primer caso se van a ir creando
una serie de hojas para cada uno de los mtodos en estudio, en las cuales se introducirn las frmulas de los mtodos
numricos: Euler, Taylor, Runge-Kutta de distintos rdenes, y de sus valores auxiliares. En el segundo caso se crear una
programa en VBA que a partir de unos datos iniciales genere de forma automtica la tabla de datos solucin aplicando
uno u otro mtodo. Una vez obtenida la tabla de datos y mediante la insercin de grficos XY, se podr tener una
aproximacin grfica a la solucin.
Palabras claves: Excel, ecuaciones diferenciales, mtodos numricos, grficos, Euler, Taylor, Heun, Runge-Kutta.
ABSTRACT: In this article will try to find approximations, numerical and graphical type, to solutions of initial value
problems (IVP) of ordinary differential equations (ODE) by using the Excel spreadsheet, which will allow do it with
some ease.
It will look for the approximation to the solution of two ways, either by making a template of a numerical method, either
by programming in VBA the method in question. In the first case we will be creating a series of sheets for each of the
methods under study, which will be introduced in the formulas of numerical methods: Euler, Taylor, Runge-Kutta
methods of different orders, and auxiliary values . In the second case will create a VBA program from initial data to
automatically generate the data table solution using either method. Once the data table and by inserting XY, you can
have a graphical approach to the solution..
Keywords: Excel, differential equations, numerical methods, graphics, Euler, Taylor, Heun, Runge-Kutta.
1
2 F Javier Palencia Gonzlez
1. Introduccin
Las ecuaciones diferenciales se utilizan para describir, representar o modelizar distintos tipos de
sistemas: fsicos, qumicos, biolgicos, econmicos, etc Podemos por tanto inferir, que alrededor
nuestro existen multitud de ecuaciones diferenciales que nos pueden explicar el funcionamiento de estos
sistemas.
Recordemos en primer lugar algunos conceptos respecto de las ecuaciones diferenciales.
Una ecuacin diferencial, ED, es una ecuacin que contiene las derivadas de una o ms variables
dependientes, con respecto a una o ms variables independientes.
f f 2 f
F ( x, y,, f x, y, , , ,, 2 ,) 0 (1.1)
x y x
dnde f es la variable dependiente que depende de x, y, que son las variables independientes.
Si una ecuacin contiene derivadas de una o ms variables dependientes respecto a una sola variable
independiente se dice que es una ecuacin diferencial ordinaria, EDO, y en este caso se utiliza x como
variable independiente e y como variable dependiente. Si una ecuacin contiene las derivadas parciales de
una o ms variables dependientes respecto a dos o ms variables independientes se dice que es una
ecuacin en derivadas parciales, EDP.
Se llama orden de una ecuacin diferencial al orden de la derivada mayor que aparece en la ecuacin.
Luego si la derivada mayor que aparece en la ecuacin es y, diremos que la ecuacin diferencial es de
primer orden, si es y, diremos que es de segundo orden, y as sucesivamente. En este artculo
estudiaremos la obtencin de soluciones de ecuaciones diferenciales ordinarias de primer orden.
Se dice que una ecuacin diferencial ordinaria est expresada en forma general o implcita cuando es
de la forma F ( x, y, y ', y '',..., y n) ) 0 , y se dice que una ecuacin diferencial ordinaria est expresada en
forma normal o explcita cuando es de la forma y n) f ( x, y, y ',..., y n 1) ) .
Una ecuacin diferencial en forma normal o explcita es lineal cuando f es una funcin lineal de
y, y ',..., y n 1) , esto significa que una ecuacin diferencial es lineal si se puede escribir de la forma:
dn y d n 1 y dy
an x n
an 1 x n 1
a1 x an x y g ( x) (1.2)
dx dx dx
y n ) f ( x, y, y ', y '',..., y n 1) )
n 1)
(1.3)
y ( x0 ) y0 , y '( x0 ) y1 , , y ( x0 ) yn 1
3. Mtodos numricos
Se quiere hallar una aproximacin a la solucin de un problema de valor inicial de primer orden
y '( x) f ( x, y ( x))
(3.1)
y ( x0 ) y0
y se calcular por varios mtodos numricos, en todos ellos la idea que subyace es ir hallando valores
y0 , y1 , y2 , , yk , cercanos a los de la solucin y ( x) en una serie de puntos x0 x1 x2 xk
separados entre s una distancia h fija, tambin llamado paso, es decir,
x1 x0 h , x2 x0 2h , . . . , xk x0 kh .
4 F Javier Palencia Gonzlez
yk 1 yk h ( xk , yk ) (3.2)
Puesto que el PVI est planteado para ser resuelto en un cierto intervalo [a, b] [ x0 , xk ] , dividiremos
el intervalo en m subintervalos de forma que h bm a , y por tanto xn a nh , para n=0,1, ,m.
Veamos ahora una aplicacin prctica de este mtodo.
h 0,2
x y
2,00 4,00000000
2,20 4,36000000
2,40 4,78896123
2,60 5,29352862
2,80 5,88034396
3,00 6,55604280
Resolucin de ecuaciones diferenciales con Excel 5
Una vez obtenidos los datos se puede generar la curva solucin, figura 1, con un grfico XY.
Para terminar el ejemplo, se muestra una grfica dnde se recogen las tres aproximaciones de la curva
solucin halladas, figura 2.
y*k 1 yk hf xk , yk (3.3)
yk 1 yk h
f xk , yk f xk 1 , y*k 1 (3.4)
2
*
Este mtodo es un mtodo de prediccin y correccin, as el valor de y k 1 calculado en (3.3),
predice un valor de yk , mientras que el valor de yk 1 calculado en (3.4) corrige al anterior para obtener
el valor buscado definitivo.
y '( x) 0.1 y 0.4 x 2
Ejemplo 2.- Dado el PVI: .
y (2) 4
Se dice que el error cometido es de orden hn , y lo denotamos como O(hn ) , si existe una constante K
y un valor n positivo tal que,
e( h) Kh n (3.14)
Se ha supuesto que yk es exacto, pero normalmente no lo es, as el error total al calcular yk 1 es una
acumulacin de errores dada en cada paso en que hemos calculado y1 , y2 , , yk . A este error acumulado
se le llama error de truncamiento global o error global.
Se puede demostrar de forma general que si un mtodo numrico de resolucin de una ecuacin
diferencial tiene un error de truncamiento local O(h n 1 ) , entonces el error de truncamiento global es
O( h n ) .
De acuerdo a (3.6), el mtodo de Taylor de orden n tiene un error de truncamiento local O(h n 1 ) y un
error global O(hn ) . Como hemos visto que el mtodo de Euler es un mtodo de Taylor de orden 1,
podemos deducir que sus errores de truncamiento local y global son O(h2 ) y O(h) respectivamente.
y x xk 1
y0
dy
x0
f ( x, y ( x))dx yk 1 yk xk
f ( x, y ( x))dx (3.15)
por tanto ahora, se necesita calcular la integral del lado derecho, lo que se har por alguno de los mtodos
numricos de integracin conocidos. As se obtiene:
yk 1 yk h ( xn , yn ) (3.16)
Siendo
n
( xn , yn ) c K
j 1
j j
K1 f ( xk , yk ) (3.17)
j 1
K j f ( xk ha j , yk h b
p 1
jp K p ), j 2,3,..., k
1 2 2 1
yk 1 yk h f ( xk , yk ) 3 f xk h, yk hf ( xk , yk ) yk h( K1 3K 2 ) (3.22)
4 3 3 4
Ejemplo 5.- Dado el PVI: y '( x) 0, 2 xy ; y (1) 1 , hallar la solucin para 1 x 2 mediante el Mtodo
de Heun.
Solucin.-
Para resolver el PVI, y una vez especificado el valor del paso, h, procedemos a generar la tabla de
datos en Excel, tabla 6, de forma anloga a como se ha hecho en los ejemplos anteriormente resueltos.
Se utilizan dos columnas auxiliares para calcular K1 y K 2 que de acuerdo a (3.19) y a (3.22) valdrn:
K1 0, 2* xk * yk
K 2 0, 2*( xk 23 h) *( yk 23 h * K1 )
luego, en las columnas se introducirn respectivamente las siguientes frmulas =0,2*A3*B3 y
=0,2*(A3+2/3*h)*(B3+2/3*h*C3). Finalmente en la siguiente fila en la columna de las y se introduce la
siguiente expresin =B3+h/4*(C3+3*D3). Se rellenan el resto de filas de la tabla y obtenemos los
siguientes datos:
Ejemplo 6.- Dado el PVI: y '( x) 0, 2 xy ; y (1) 1 , hallar la solucin para 1 x 2 mediante el Mtodo
de Runge-Kutta de orden 3.
Solucin.-
Para resolver el PVI, y una vez especificado el valor del paso, h, procedemos a generar la tabla de
datos en Excel, tabla 7, de forma anloga a como se ha hecho en los ejemplos anteriormente resueltos.
Se utilizan tres columnas auxiliares para calcular K1 , K 2 y K3 que de acuerdo a (3.23) y a (3.24)
valdrn:
K1 0, 2 * xk * yk
K 2 0, 2 * ( xk 12 h) * ( yk 12 h * K1 )
K 3 0, 2 * ( xk h) * ( yk h * K1 2 * h * K 2 )
luego, en las columnas se introducirn respectivamente las siguientes frmulas =0,2*A3*B3,
=0,2*(A3+1/2*h)*(B3+1/2*h*C3) y =0,2*(A3+h)*(B3-h*C3+2*h*D3). Finalmente en la siguiente
fila en la columna de las y se introduce la siguiente expresin =B3+h/6*(C3+4*D3+E3). Se rellenan el
resto de filas de la tabla y obtenemos los siguientes datos:
Sub Euler()
' Halla la solucin de un PVI mediante el Mtodo de Euler
' Lee h, x0, y0 y xn
' F Javier Palencia, 20-V-2013
'
'Se asignan los valores conocidos a sus respectivas variables
x0 = Range("A5").Value
y0 = Range("B5").Value
h = Range("B2").Value
xn = Range("B3").Value
'Se halla el nmero de subintervalos
m = (xn - x0) / h
'Se asignan los valores conocidos a las variables de trabajo
xk = x0
yk = y0
For i = 1 To m
'Se halla el valor de la solucin en el siguiente punto
yk = yk + h * (0.1 * Sqr(yk) + 0.4 * xk ^ 2)
xk = xk + h
'Se escriben los valores en la tabla
Cells(5 + i, 1).Value = xk
Cells(5 + i, 2).Value = yk
Next i
End Sub
Asignamos el cdigo a un botn y haciendo clic en el mismo se obtiene la tabla de resultados, tal y
como se muestra en la figura 4.
Resolucin de ecuaciones diferenciales con Excel 15
Sub RK_4()
' Halla la solucin de un PVI mediante el Mtodo de Runge Kutta de
orden 4
' Lee h, x0, y0 y xn
' F Javier Palencia, 20-V-2013
'Se asignan los valores conocidos a sus respectivas variables
x0 = Range("A5").Value
y0 = Range("B5").Value
h = Range("B2").Value
xn = Range("B3").Value
'Se halla el nmero de subintervalos
m = (xn - x0) / h
'Se asignan los valores conocidos a las variables de trabajo
xk = x0
yk = y0
For i = 1 To m
'Se calculan los valores auxiliares
K1 = 0.2 * xk * yk
K2 = 0.2 * (xk + h / 2) * (yk + h / 2 * K1)
K3 = 0.2 * (xk + h / 2) * (yk + h / 2 * K2)
16 F Javier Palencia Gonzlez
Asignamos el cdigo a un botn y haciendo clic en el mismo se obtiene la tabla de resultados, tal y
como se muestra en la figura 5.
5. Conclusiones
Se ha podido comprobar que mediante la hoja de clculo Excel es extremadamente sencillo encontrar
soluciones aproximadas tanto numricas como grficas para problemas de valor inicial de ecuaciones
diferenciales ordinarias, a partir de las frmulas de determinados mtodos numricos: Euler, Taylor,
Runge-Kutta. El grado de exactitud de las aproximaciones obtenidas viene dado por los distintos mtodos
numricos que se han utilizado.
Asimismo se ha mostrado que con una sencilla implementacin en VBA, se pueden hallar tambin
excelentes aproximaciones a las soluciones de los PVI. La programacin se ha realizado de la forma ms
sencilla posible de forma que se pueda replicar fcilmente el programa para cualquier ecuacin dentro de
un PVI que sea planteado.
Resolucin de ecuaciones diferenciales con Excel 17
6. Referencias bibliogrficas
1. J.J Bernal Garca, Aportaciones para la mejora de la presentacin grafica de datos cuantitativos en
Excel, Revista Rect@. Vol. 16: 41242-412, XVI Congreso ASEPUMA y IV Encuentro Internacional.
(Cartagena, 2008).
2. J.J. Bernal Garca, Representacin automtica de funciones en Excel y su aplicacin docente, Revista
Rect@. Vol. 12, pp: 141 a 157. (2011)
3. R.L. Burden, J.D. Faires, Anlisis numerico (7 ed.), Thomson Learning, (Mxico, 2002)
4. C. H. Edwards, D.E. Penney, Ecuaciones diferenciales (4 ed), Pearson Prentice-Hall, (Mxico, 2001)
5. C.F. Gerald, P.O. Wheatley, Anlisis numerico con aplicaciones (6 ed.), Pearson Prentice-Hall,
(Mxico, 2000)
6. J. H. Mathews, K.D. Fink, Mtodos numricos con Matlab (3 ed.), Pearson Prentice-Hall, (Madrid,
2000).
7. Shoichiro Nakamura, Anlisis numricos y visualizacin grfica con Matlab, Pearson Prentice-Hall,
(Mxico, 1997)
8. J. Walkenbach, Excel 2010. Los mejores trucos, Anaya multimedia, (Madrid, 2011)
9. J. Walkenbach, Excel 2010.Programacin con VBA, Anaya Multimedia-Wiley (Madrid, 2011)
10. D.G, Zill, M.R. Cullen, Ecuaciones diferenciales con problemas de valor en la frontera (6 ed),
Thomson Learning, (Mxico, 2006)