sistemas de ecuaciones diferenciales ordinarias no
TRANSCRIPT
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
ESCUELA PROFESIONAL DE MATEMATICAS
Sistemas de Ecuaciones Diferenciales Ordinarias no
Lineales y su Solucion Numerica por el Metodo de
Runge-Kutta Asistido con Matlab
TESIS
Para optar el tıtulo profesional de
Licenciado (a) en Matematicas
Presentado por:
Bach. Mat. Coronado Chaponan Hugo Alex
Bach. Mat. Flores Soto Rocıo del Carmen
Asesor:
M.Sc. Cuti Gutierrez Alcides Raul
LAMBAYEQUE − PERU
2021
Agradecimiento
A todas las personas que me apoyaron constantemente a pesar de
las adversidades presentadas siempre me mostraron su mano de
ayuda y apoyo incondicional.
A los docentes de la Facultad de ciencias fısicas y matematicas por
sus aportes academicos, los cuales fueron de gran ayuda para poder
culminar el proyecto.
Alex
Agradezco a Dios por la vida ,por permitirme crecer cada dıa como persona
y por su amor infinito.
A mis padres Juan Flores y Jesus Soto por su apoyo incondicional y por sus
consejos para seguir estudiando y ası lograr mis objetivos.
A mi hermano Miguel que con su ejemplo fue mi motivacion para seguir
adelante con mis ideales.
A mı hija Johanny y mi esposo Jhon por ser mi fuente de motivacion para
poder superarme cada dıa mas.
A los docentes de la universidad, que con sus ensenanzas, han fortalecido
nuestro proyecto de tesis.
Rocıo
Dedicatoria
A mis progenitores, ası como a mi ayuda idonea Magaly
que son los regalos preciosos que Dios me ha dado, los
cuales son la razon para seguir avanzando.
Alex
La presente tesis se la dedico a Dios por ser mi guıa, mi
fortaleza y por su infinita bondad.
A mis padres Juan y Jesus por ser siempre mi apoyo
incondicional, por sus consejos y su paciencia, todo lo
que hoy soy es gracias a ellos.
A mı hija Johanny quien ha sido mi mayor motivacion
para nunca rendirme en los estudios, ella fue que en los
momentos mas difıciles me dio su amor y comprension
para poderlos superar.
Rocıo
Resumen
El objetivo de la presente investigacion fue hallar la solucion de sistemas de ecuaciones
diferenciales ordinarias no Lineales por el metodo de Runge-Kutta asistido con Matlab.
Se han desarrollado dos aplicaciones, la primera trata de un sistema de dos ecuaciones
no lineales y la segunda sobre el modelo epidemiologico SEIR relacionado al Sarampion,
ambas aplicaciones son resueltas de manera detallada utilizando el metodo de Runge-
Kutta de orden 4, ademas la segunda aplicacion se hizo dos analisis detallando como es
el comportamiento del tratamiento del sarampion, en el primer analisis para una semana
donde dicho modelo es resuelto por el metodo de Runge-Kutta de orden 4 y el software
Matlab para simplificar el proceso, en el segundo analisis para 30 semanas de manera
directa con el software Matlab donde al transcurrir el tiempo de acuerdo al tratamiento
el sarampion tiende a desaparecer. Ademas mediante el software Matlab nos permite
solucionar cualquier sistemas de ecuaciones diferenciales no lineales de manera rapida y
eficiente.
Palabras Clave: Sistema de ecuaciones diferenciales ordinarias no lineales, modelo
SEIR, metodo de Runge-Kutta de orden 4, software Matlab.
II
Abstract
The objective of the present investigation was to find the solution of systems of ordinary
differential equations does not Linear by the Runge-Kutta method assisted with Matlab.
Two applications have been developed, the first one deals with a system of two non-linear
equations and the second one on the epidemiological model SEIR related to Measles,
both applications are solved in a detailed way using the Runge-Kutta method of order
fourth, in addition the second In the application, two analyzes were made detailing how
the measles treatment behavior is, in the first analysis for one week where said model is
resolved by the Runge-Kutta method of order fourth and the Matlab software to simplify
the process, in the second analysis for thirty weeks directly with the Matlab software
where, as time passes according to the treatment, measles tends to disappear. What’s
more Using Matlab software, it allows us to solve any systems of nonlinear differential
equations quickly and efficiently.
Keywords: Nonlinear ordinary differential equation system, SEIR model, Runge-Kutta
fourth order method, Matlab software.
III
Introduccion
Los sistemas de ecuaciones diferenciales ordinarias no lineales, aparecen en el diseno de
modelos matematicos de los fenomenos fısicos, quımicos, biologicos, etc.
Existen diferentes tecnicas para la resolucion de sistemas de ecuaciones diferenciales or-
dinarias no lineales, sin embargo muchos de los problemas que se presentan en Ciencias
e Ingenierıa no se pueden resolver mediante estas tecnicas.
La solucion numerica de estos modelos matematicos se recurre siempre que no se pueda
obtener una solucion exacta, ya que proporcionan valores numericos aproximandose a
la solucion en un determinado conjunto de puntos.
Los sistemas de ecuaciones diferenciales ordinarias no lineales son muy utilizados en la
ingenierıa y en la epidemiologıa donde su solucion no es muy clara, en los libros y en los
artıculos cientıficos relacionadas al tema no son muy claras y solo muestran sus resul-
tados sin detallarlos es por eso que nace nuestra inquietud de investigar sobre: ¿Como
hallar la solucion numerica de un sistema de ecuaciones diferenciales ordinarias no li-
neales aplicando el metodo iterativo de Runge-Kutta asistida con Matlab?, lo cual tiene
como objetivo hallar la solucion de sistemas de ecuaciones diferenciales ordinarias no
Lineales por el metodo de Runge-Kutta asistido con Matlab.
La hipotesis a comprobar fue: Si se aplica metodo iterativo de Runge-Kutta asistido
con Matlab a un sistemas de ecuaciones diferenciales ordinarias no Lineales entonces se
hallara su solucion numerica mas aproximada.
Mediante esta investigacion nos ha permitido comprender de manera numerica el desa-
rrollo de sistemas de ecuaciones diferenciales no lineales de manera general y tambien
aplicado al modelo matematico SEIR relacionado al sarampion, ademas detallamos el
IV
proceso del uso del software matematico Matlab.
El presente trabajo de investigacion esta estructurada de la siguiente manera:
En el capıtulo 1 se tiene los preliminares, El cual comienza con el uso del software Matlab
2014a, la ventana de comandos y sus comandos principales, epidemiologıa matematica,
modelo SEIR, sarampion, metodo de Runge-Kutta, metodo de Runge-Kutta de orden
4 y precision del metodo de Runge-Kutta. En el segundo capıtulo se tiene sistema de
ecuaciones diferenciales ordinarias no lineales Mediante el Metodo de Runge-Kutta de
Orden 4, el cual comienza con el metodo de Runge-Kutta de Orden 4 para Sistemas no
Lineales, convergencia y consistencia del metodo de Runge-Kutta de orden s.
En el tercer capıtulo se tiene sistema de ecuaciones diferenciales ordinarias no lineales
y su solucion numerica por el metodo de Runge-Kutta asistido con Matlab, el cual
comienza con la aplicacion 1 de manera detallada y la aplicacion 2 modelo matematico
SEIR relacionado al sarampion.
Finalmente se encuentran las conclusiones, recomendaciones, referencias bibliograficas
y anexos.
Indice general
Resumen II
Abstract III
Introduccion IV
1. Preliminares 3
1.1. Software Matlab 2014a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1. Comandos principales . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Epidemiologıa Matematica . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3. Modelo SEIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1. Formulacion de Fraccional Temporal Modelo de Sarampion de SEIR 8
1.3.2. Sarampion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4. Metodo de Runge Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1. Metodo de Runge Kutta de Orden 4 . . . . . . . . . . . . . . . . 11
1.4.2. Precision del Metodo de Runge-Kutta . . . . . . . . . . . . . . . . 13
2. Sistema de Ecuaciones Diferenciales no Lineales 14
2.1. Metodo de Runge-Kutta de Orden 4 para Sistemas no Lineales . . . . . 15
2.1.1. Convergencia y Consistencia del Metodo de Runge-Kutta de orden s 17
3. Solucion Numerica de Sistema de Ecuaciones Diferenciales no Lineales 19
3.1. Aplicacion 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Aplicacion 2: Modelo Matematico SEIR . . . . . . . . . . . . . . . . . . . 28
1
2
Conclusiones 44
Recomendaciones 45
Referencias Bibliograficas 47
Anexo 50
Capıtulo :
Preliminares
1.1 Software Matlab 2014a
Oyola & Parraguez, (2020). Enuncian que Matlab es un sofware muy potente disenado
para hacer calculos matematicos. Matlab integra el calculo, la visualizacion y la progra-
macion en un ambiente comprensible de emplear donde los problemas y las soluciones se
expresan en una notacion matematica. Matlab es una herramienta muy poderosa para
4
hacer cualquier tipo de investigacion relacionado a calculos matematicos.
Matlab se utiliza ampliamente en:
Calculos numericos
Desarrollo de algoritmos
Modelado, simulacion
Analisis de datos
Graficacion de datos
Interfaz grafica de usuario.
Requisitos del sistema operativo para la Instalacion de Matlab
Visitando la pagina de Mathworks, empresa desarrolladora de Matlab, cuya sede central
esta situada en Natick, Massachusetts, Estados Unidos. Nos ofrece la siguiente informa-
cion acerca de los requisitos del sistema y el ordenador para la correcta instalacion de
la version 2014a.
http://es.mathworks.com/support/sysreq/sv-r2014a/
5
1.1.1 Comandos principales
Oyola & Parraguez, (2020). En la Tabla (1.1) se enlistan los comandos mas comunes de
la plataforma de simulacion MATLAB.
Tabla 1.1: Comandos mas comunes de MATLAB
Comando Funcion
help Ayuda en lınea. Permite saber el funcionamiento de los comandos
donde describe el proceso de un comando especıfico
helpwin Permite la descripcion especıfica de un comando y
permite ver informacion sobre otros temas relacionados
lookfor Busca en la ayuda de todos los comandos la clave espeficada
helpdesk Realiza una busqueda en hipertexto en un buscador Web proporcionando
un acceso directo a toda la documentacion: PDFs, informacion sobre la
solucion de problemas, etc
doc Despliega en un buscador Web la pagina de referencia para el comando
especificado, proporciona una descripcion, referencias adicionales y
ejemplos del comando especificado
figure Crea una nueva grafica
close Cierra una grafica
who Despliega las variables presentes en el espacio de trabajo
whos Despliega las variables presentes en el espacio de trabajo en extenso.
which Indica la ruta en donde se encuentra la funcion especificada
cd Cambia la ruta al subdirectorio superior
pwd Despliega la ruta en donde se encuentra el directorio de trabajo actual
1. Escalares, Vectores y Matrices
Alhiet, Cristian, & Alfonso, (2010). Los datos pueden introducirse a Matlab de
6
diferentes maneras:
Como una lista explıcita de elementos
Cargando los datos de un archivo externo
Generados por otras funciones
Creados por archivos M creados por el usuario.
Tabla 1.2: Comandos que generan matrices basicas
Comando Funcion
Zeros Todos los elementos de la matriz son ceros
Ones Todos los elementos de la matriz son unos
Rand Genera una matriz con de elementos con distribucion uniforme
Randn Genera una matriz con elementos con distribucion normal
2. Operadores
Alhiet, Cristian, & Alfonso, (2010). En la Tabla (1.3) se muestran los operadores
aritmeticos mas comunes en Matlab.
Tabla 1.3: Operadores aritmeticos usados en Matlab
Operador Operacion matematica
+ Suma
- Resta
* Multiplicacion
/ Division
∧ Potencia
’ Transpuesta compleja conjugada
( ) Especifica el orden de evaluacion
7
1.2 Epidemiologıa Matematica
Fresnadillo, et al. (2013) en su artıculo menciono que en 1760 D. Bernoulli propuso un
modelo de la propagacion de la viruela. Ademas afirman que el estudio y desarrollo
sistematico de estos modelos no se inicia hasta principios del siglo XX. Ası, en 1906
W.H. Hamer propone un modelo discreto en el tiempo para estudiar la propagacion del
sarampion, siendo este el primero en el que se sugiere que la incidencia de una epide-
mia depende del producto entre los individuos susceptibles y los infecciosos. Este es el
llamado principio de accion de masas que establece que la tasa de propagacion de la
epidemia se supone proporcional al producto de la densidad de individuos susceptibles
por la densidad de individuos infecciosos. En 1911, R. Ross desarrolla un modelo ma-
tematico basado en ecuaciones diferenciales que intenta predecir el comportamiento de
una epidemia de malaria.
La Epidemiologıa Matematica moderna surge a finales del primer cuarto del siglo XX
con el trabajo de W.O. Kermack y A.G. McKendrick. En este modelo matematico si-
mula la propagacion de la peste bubonica acaecida en Londres desde 1665 a 1666 y
que se saldo con la muerte del 20% de la poblacion. Su caracterıstica fundamental es
que se trata del primer modelo compartimental en el que la poblacion es dividida en
tres compartimentos o clases diferentes: individuos susceptibles, individuos infecciosos
e individuos recuperados o muertos. A partir de la publicacion del trabajo de W.O.
Kermack y A.G. McKendrick y de la posterior formalizacion matematica de casos mas
complejos han ido apareciendo modelos matematicos centrados en enfermedades infec-
ciosas: tuberculosis, meningitis meningococica, gripe A(H1N1), enfermedad de Chagas,
SARS, viruela, SIDA, colera, malaria, etc.
8
1.3 Modelo SEIR
1.3.1 Formulacion de Fraccional Temporal Modelo de
Sarampion de SEIR
Doungmo, Oukouomi y Mugisha, (2014). En su articulo mencionan que el sistema que
modela la propagacion temporal fraccional del sarampion en una poblacion humana. En
este modelo, una poblacion supuesta constante se divide en diferentes clases, disjuntas y
basadas en su estado de enfermedad. En un tiempo t, S = S(t) es la fraccion de poblacion
que representa individuos susceptible al sarampion,E = E(t) es la fraccion de la poblacion
representando individuos expuestos al sarampion, I = I(t) es la fraccion de poblacion que
representa a individuos infecciosos con sarampion, yR = R(t) es la fraccion de la poblacion
representando individuos que se recuperaron del sarampion. Nosotros Supongamos que
todo el reclutamiento se realiza por nacimiento en la clase. de susceptible y ocurre a una
tasa de natalidad constante b.
La tasa constante para muerte no relacionada con enfermedades es µ; ası1
µes el vida
media. Utilizamos la incidencia estandar de balance de masa expresiones βSI para indi-
car la transmision exitosa de sarampion debido a la dinamica efectiva de los contactos en
la poblacion por individuos infecciosos. Una vez infectado, una fraccion de expuesto las
personas se vuelven infecciosas con una tasa constante σ, de modo que1
σes el perıodo
promedio de incubacion. Algunas personas infecciosas se recuperara despues de un tra-
tamiento o un cierto perıodo de tiempo a una tasa constante ξ, haciendo1
ξel promedio
infeccioso perıodo.
A continuacion presentamos el sistema de ecuacion diferencial no lineal para el sarampion
9
dS
dt= b− βIS − µS
dE
dt= βIS − σE − µE
dI
dt= σE − ξI − µI
dR
dt= ξI − µR
(1.1)
µ µ µ µ
βSI σ ξS E I R
Figura 1.1: Diagrama de transferencia para la transmision de dinamica temporal del
sarampion.
1.3.2 Sarampion
Ministerio de Salud, (2011)
¿Que es el sarampion?
El sarampion es una enfermedad infecciosa, que produce lesiones en la piel a lo
cual se le denomina exantematica, esta enfermedad es muy frecuente en los ninos
o adolescentes. El sarampion es causado por un virus, especıficamente un parami-
xovirus del genero Morbillivirus.
A nivel mundial sigue siendo una de las principales causas de muerte en ninos
pequenos, a pesar de que existe una vacuna segura y eficaz. Se calcula que en 2008
murieron 164 000 personas por esta causa, la mayorıa de ellas menores de 5 anos.
10
¿Como se transmite?
El virus del sarampion es muy contagioso, y se transmite cuando una persona in-
fectada habla, tose y/o estornuda cerca a una persona sana.
El virus presente en el aire o sobre superficies infectadas sigue siendo activo y con-
tagioso hasta 2 horas, y puede ser transmitido por un individuo infectado desde 4
dıas antes hasta 4 dıas despues de la aparicion de las lesiones en la piel (exantema).
¿Cuales son los sıntomas?
El primer sıntoma del sarampion suele ser la fiebre alta, que comienza unos 10 a
12 dıas despues de la exposicion al virus y dura entre 4 y 7 dıas.
En la fase inicial, el paciente puede presentar rinorrea (catarro), ojos llorosos y
rojos, tos, y pequenas manchas blancas en la cara interna de las mejillas.
Al cabo de varios dıas aparecen lesiones en la piel (exantema), generalmente en el
rostro y la parte superior del cuello, que se extiende en unos 3 dıas, acabando por
afectar a las manos y pies. El exantema dura 5 a 6 dıas, y luego se desvanece.
¿Que complicaciones presenta la enfermedad?
La mayorıa de las muertes se deben a complicaciones del sarampion, que son mas
frecuentes en menores de 5 anos y adultos de mas de 20 anos.
Las mas graves son la ceguera, encefalitis (infeccion acompanada de edema cere-
bral), diarrea grave (puede provocar deshidratacion), las infecciones del oıdo y las
infecciones respiratorias graves, como la neumonıa.
Nota 1.1. El sarampion puede producir epidemias que causan muchas muertes, es-
pecialmente entre los pequenos ninos malnutridos y sobre todo en quienes no reciben
aportes suficientes de vitamina A.
11
1.4 Metodo de Runge Kutta
Carrasco & Heredia, (2020) enuncian que el metodo de Runge-Kutta va a permitir
solucionar ecuaciones diferenciales ordinarias lineales de primer orden la cual tiene la
forma siguiente:
yi+1 = yi + (w1k1 + w2k2 + ... + wnkn), i = 0, 1, 2, . . . , n
k1 = hf(ti, yi)
k2 = hf(ti + a1h, yi + b11k1)
k3 = hf(ti + a2h, yi + b21k1 + b22k2)
k4 = hf(ti + a3h, yi + b31k1 + b32k2 + b33k3)...
kn = hf(ti + an−1h, yi + bn−1,1k1 + bn−1,2k2 + bn−1,3k3 + ...+ bn−1,n−1kn−1)
1.4.1 Metodo de Runge Kutta de Orden 4
Carrasco & Heredia, (2020). Sea el problema de valor inicial
y′ = f(t, y), a ≤ t ≤ b, y(a) = α
en (N + 1) numeros uniformemente espaciados en el intervalo [a, b]:
El metodo de cuarto orden de Runge-Kutta (RK4) simula la precision del metodo de
la serie de Taylor de orden N = 4 y consiste en calcular la aproximacion y(k + 1) de la
siguiente manera:
yk+1 = yk + w1k1 + w2k2 + w3k3 + w4k4 (1.2)
Donde k1, k2, k3 y k4 son de la forma
12
i = 0, 1, 2, ..., n
k1 = hf(ti, yi)
k2 = hf(ti + a1h, yi + b1k1)
k3 = hf(ti + a2h, yi + b2k1 + b3k2)
k4 = hf(ti + a3h, yi + b4k1 + b5k2 + b6k3)
Comparando estos coeficientes con los del metodo de Taylor de Orden 4, de manera el
error de truncamiento sea de orden O(h5). Se obtiene el siguiente sistema de ecuaciones:
b1 = a1 b2 + b3 = a2 b4 + b5 + b6 = a3
w1 + w2 + w3 + w4 = 1 w2a1 + w3a2 + w4a3 =12
w2a21 + w3a
22 + w4a
23 =
13
w2a31 + w3a
32 + w4a
33 =
14
w3a1b3 + w4(a1b5 + a2b6) =16
w3a1a2b3 + w4a3(a1b5 + a2b6) =18
w3a21b3 + w4(a
21b5 + a22b6) =
112
w4a1b3b6 =124
Este sistema consta de 13 incognitas y solo 11 ecuaciones, ası que debemos anadir dos
condiciones adicionales para resolverlo. Tomaremos: a1 =12y b2 = 0
Entonces los valores de la solucion para las demas variable son:
a2 =12; a3 = 1; b1 =
12; b3 =
12; b4 = b5 = 0; b6 = 1 w1 =
16; w2 =
13; w3 =
13; w4 =
16
Sustituyendo en las ecuaciones (1.2) obtenemos la formula del Metodo de Runge-Kutta
de orden 4:
yk+1 = yk +h(k1 + 2k2 + 2k3 + k4)
6
Donde
k1= f(tk, yk)
k2= f(tk +h2, yk +
h2f1)
k3= f(tk +h2, yk +
h2f2)
k4= f(tk + h, yk + hf3)
13
1.4.2 Precision del Metodo de Runge-Kutta
Carrasco & Heredia, (2020). Sea y(t) la solucion del problema de valor inicial
y′ = f(t, y) en [t0, tM ]
con y(t0) = y0. Si y(t) ∈ C5[t0, b] y {(tk, yk)}Mk=0 es la sucesion de aproximaciones
generada por el metodo de Runge-Kutta de orden 4, entonces:
Error de truncamiento global
|ek| = |y(tk)− yk| = O(h4) (1.3)
Error de truncamiento local
|ek+1| = |y(tk+1)− yk − hTN(tk, yk)| = O(h5) (1.4)
El error global final del extremo derecho del intervalo, viene dado por
E(y(b), h) = |y(b)− yM | = O(h4) (1.5)
Para el caso de orden 4, tomamos dos tamanos de paso h y h/2, tenemos:
E(y(b), h) ≈ Ch4 (1.6)
Para el tamano de paso mas grande
E(y(b), h2) ≈ C
h4
16=
1
16Ch4 ≈
1
16E(y(b), h) (1.7)
Podemos ver que si el tamano de paso en el metodo de Rungue Kutta de orden
4 se reduce a la mitad, entonces el error global final se reducira en un factor de
orden de1
16.
Capıtulo :
Sistema de Ecuaciones Diferenciales
no Lineales
Debido a la complejidad que presenta al solucionar sistemas de ecuaciones diferenciales
no lineales detallaremos de manera numerica su solucion utilizando el metodo de Runge-
Kutta de orden 4.
Definicion 2.1. Masgo, (2014). Se define un metodo de Runge-Kutta de s etapas (o de
orden s) por:
yn+1 = yn + hn
(
s∑
i=n
biKi
)
i = 1, 2, . . . , s
Ki = F(
xn + cihn, yn + hn
s∑
i=1
aijKi
)
(2.1)
Donde cada Ki es una etapa.
En particular para s=4 tenemos el metodo de Runge-Kutta de orden 4 (o de 4 etapas)
15
2.1 Metodo de Runge-Kutta de Orden 4 para
Sistemas no Lineales
Hassan, Hoda, y Mohamed, (2015). Dado el siguiente sistema:
y′1 = f1(t, y1, y2, . . . , yn)
y′2 = f2(t, y1, y2, . . . , yn)... =
...
y′n = fn(t, y1, y2, . . . , yn)
Condiciones iniciales
yi(0) = yi0, i = 0, 1, . . . , n
(2.2)
Nuestro objetivo es resolver el sistema (3.1), mediante el metodo de Runge Kutta de
cuarto orden.
Forma de vector tiene la forma siguiente:
y′i = Fi(x, yi), yi(x0) = yi(0), i = 1, 2, · · · , n
donde
y(x) =
y1
y2...
yn
, Fi(x, yi) =
f1
f2...
fn
y el metodo de Runge-Kutta de cuarto orden es:
y1(m+1) = y1(m) + k10
y2(m+1) = y2(m) + k20...
yn(m+1) = yn(m) + kn0; m = 0, 1, 2 . . .
16
k10 =h
6(k1
1 + 2(k21 + k3
1) + k41)
k20 =h
6(k1
2 + 2(k22 + k3
2) + k42)
...
kn0 =h
6(kn
1 + 2(kn2 + kn
3 ) + kn4 )
y
k11 = f(t0, y10, y20, . . . , yn0) =
F1(t0, y10, y20, . . . , yn0)
F2(t0, y10, y20, . . . , yn0)...
Fn(t0, y10, y20, . . . , yn0)
=
k11
k21
...
kn1
k12 = f(t0 +h2, y10 +
k11
2, . . . , yn0 +
kn1
2) =
F1(t0 +h2, y10 +
k11
2, . . . , yn0 +
kn1
2)
F2(t0 +h2, y10 +
k11
2, . . . , yn0 +
kn1
2)
...
Fn(t0 +h2, y10 +
k11
2, . . . , yn0 +
kn1
2)
=
k12
k22
...
kn2
k13 = f(t0 +h2, y10 +
k12
2, . . . , yn0 +
kn2
2) =
F1(t0 +h2, y10 +
k12
2, . . . , yn0 +
kn2
2)
F2(t0 +h2, y10 +
k12
2, . . . , yn0 +
kn2
2)
...
Fn(t0 +h2, y10 +
k12
2, . . . , yn0 +
kn2
2)
=
k13
k23
...
kn3
k14 = f(t0 + h, y10 + k13, . . . , yn0 + kn
3 ) =
F1(t0 + h, y10 + k13, . . . , yn0 + kn
3 )
F2(t0 + h, y10 + k13, . . . , yn0 + kn
3 )...
Fn(t0 + h, y10 + k13, . . . , yn0 + kn
3 )
=
k14
k24
...
kn4
17
2.1.1 Convergencia y Consistencia del Metodo de
Runge-Kutta de orden s
Masgo, (2014). Menciona que los metodos de Runge-Kutta son metodos de un paso con
funcion de incremento
φ(tn, yn, hn) =
s∑
i=1
biki
Si hacemos hn = 0, entonces ki = f(tn, yn) para todo i = 1, 2, ... s. Ası,
φ(t, y, 0) =
s∑
i=1
f(t, y)
Por tanto, un metodo de Runge-Kutta de orden s es consistente si y solo si:
s∑
i=1
bi = 1 (2.3)
Por otra parte, puesto que las etapas ki son evaluaciones de la funcion f , φ satisface una
condicion de lipschitz con respecto a su segunda variable si f satisface una condicion de
lipschitz en y. Ası pues, la condicion de consistencia (2.3) es suficiente para garantizar
la convergencia. Veamos que tambien es necesaria el siguiente Teorema.
Definicion 2.2. Condicion de Lipschitz
Se dice que la funcion f(t, y1, y2, . . . , ym) definida en el conjunto
D = {(t, y1, y2, . . . , ym)/a ≤ t ≤ b,−∞ < yi < ∞, ∀i = 1, 2, . . . , m}
satisface la condicion de Lipschitz sobre D en las variables y1, y2, . . . , ym si existe una
constante L > 0 con la propiedad que
|f(t, y1, y2, . . . , ym)− (t, z1, z2, . . . , zm)| ≤ Lm∑
j=1
|yj − zj |
∀(t, y1, y2, . . . , ym) y (t, z1, z2, . . . , zm)
18
Teorema 2.1. Un metodo de Runge-Kutta es convergente si y solo si es consistente.
Demostracion.
Si es convergente, en particular lo es para el problema: y′(t) = t, y(0) = 0, cuya solucion
es y(t) = t. El metodo, aplicado a este problema con paso fijo h, se reduce a
yn+1 = yn + hs
∑
i=1
bi
Tomando como valor inicial y0 = 0 tenemos que la solucion numerica viene dada por
yn = nhs
∑
i=1
bi = tn
s∑
i=1
bi
por lo tanto
y(tn)− yn = tn
(
1−
s∑
i=1
bi
)
,
y la solucion numerica converge a la teorica si y solo si se cumple la condicion de
consistencia (2.3).
Capıtulo :
Solucion Numerica de Sistema de
Ecuaciones Diferenciales no Lineales
En este capıtulo presentamos dos aplicaciones la cual detallaremos el proceso iterativo
de cada una de ellas mediante el metodo de Runge-Kutta, ademas detallaremos el uso
del software Matlab en ambas aplicaciones.
3.1 Aplicacion 1
Zill,(1998). Dado el siguiente sistema:
y′ = −0.16y + 0.08yz
z′ = −0.9yz + 4.5z
Condiciones iniciales
y(0) = 4, z(0) = 4
0 ≤ t ≤ 1
(3.1)
Solucion.
20
Primera Iteracion
Para N = 4, t0 = 0, y0 = 4, z0 = 4 y h =1− 0
4=0.25
k11 = f(t0, y0, z0) = f(0, 4, 4) =
−0.16(4) + 0.08(4)(4)
−0.9(4)(4) + 4.5(4)
=
0.64
3.6
=
k11
k21
k12 = f(t0 +h2, y0 +
k11
2, z0 +
k21
2) = f(0 + 0.25
2, 4 + 0.64
2, 4 + 3.6
2) = f(0.125, 4.32, 5.8)
=
−0.16(4.32) + 0.08(4.32)(5.8)
−0.9(4.32)(5.8) + 4.5(5.8)
=
1.31328
3.54960
=
k12
k22
k13 = f(t0+h2, y0+
k12
2, z0+
k22
2) = f(0+0.25
2, 4+1.31328
2, 4+3.54960
2) = f(0.125, 4.65664, 5.77480)
=
−0.16(4.65664) + 0.08(4.65664)(5.77480)
−0.9(4.65664)(5.77480) + 4.5(5.77480)
=
1.40623
1.78455
=
k13
k23
k14 = f(t0+h, y0+k13, z0+k2
3) = f(0+0.25, 4+1.40623, 4+1.78455) = f(0.25, 5.40623, 5.78455)
=
−0.16(5.40623) + 0.08(5.40623)(5.78455)
−0.9(5.40623)(5.78455) + 4.5(5.78455)
=
1.63681
−2.11487
=
k14
k24
Entonces
k10 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k10 =0.256
(
0.64 + 2(1.31328 + 1.40623) + 1.63681)
k10 =0.32149
k20 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k20 =0.256
(
3.6 + 2(3.54960 + 1.78455)− 2.11487)
k20 =0.50639
Entonces los nuevos valores son:
21
y11 =y10 + k10 = 4+0.32149= 4.32149
z11 =z20 + k20 = 4+0.50639= 4.50639
Segunda Iteracion
Para N = 4, t1 =0.25, y1 =4.32149 , z1 =4.50639 y h =1− 0
4=0.25
k11 = f(t1, y1, z1) = f(0.25, 4.32149, 4.50639) =
−0.16(4.32149) + 0.08(4.32149)(4.50639)
−0.9(4.32149)(4.50639) + 4.5(4.50639)
=
0.866508731
2.751856745
=
k11
k21
k12 = f(t1+h2, y1+
k11
2, z1+
k21
2) = f(0.25+ 0.25
2, 4.32149+ 0.866508731
2, 4.50639+ 2.751856745
2) =
f(0.375, 4.754747465, 5.882321161) =
−0.16(4.754747465) + 0.08(4.754747465)(5.882321161)
−0.9(4.754747465)(5.882321161) + 4.5(5.882321161)
=
1.476756536
1.29838876
=
k12
k22
k13 = f(t1+h2, y1+
k12
2, z1+
k22
2) = f(0.25+ 0.25
2, 4.32149+ 1.476756536
2, 4.50639+ 1.29838876
2) =
f(0.375, 5.059871367, 5.155587169) =
−0.16(5.059871367) + 0.08(5.059871367)(5.155587169)
−0.9(5.059871367)(5.155587169) + 4.5(5.155587169)
=
1.27735
−0.27780
=
k13
k23
k14 = f(t1+ h, y1+ k13, z1+ k2
3) = f(0.25+0.25, 4.32149+ 1.27735, 4.50639− 0.27780) =
f(0.5, 5.59884, 4.22859) =
−0.16(5.59884) + 0.08(5.59884)(4.22859)
−0.9(5.59884)(4.22859) + 4.5(4.22859)
=
0.99820
−2.279032
=
k14
k24
Entonces
22
k10 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k10 =0.256
(
0.866508731 + 2(1.476756536 + 1.27735) + 0.99820)
k10 =0.30721
k20 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k20 =0.256
(
2.751856745 + 2(1.29838876− 0.27780)− 2.279032)
k20 =0.10475
Entonces los nuevos valores son:
y21 =y11 + k10 = 4.32149 +0.30721= 4.62870
z21 =z21 + k20 = 4.50639 +0.10475= 4.61114
Tercera Iteracion
Para N = 4, t2 =0.5, y2 =4.62870 , z2 =4.61114 y h =1− 0
4=0.25
k11 = f(t2, y2, z2) = f(0.5, 4.62870, 4.61114) =
−0.16(4.62870) + 0.08(4.62870)(4.61114)
−0.9(4.62870)(4.61114) + 4.5(4.61114)
=
0.966895235
1.540913164
=
k21
k21
k12 = f(t2+h2, y2+
k11
2, z2+
k21
2) = f(0.5+ 0.25
2, 4.62870+ 0.966895235
2, 4.61114+ 1.540913164
2) =
f(0.625, 5.112145768, 5.381599076) =
−0.16(5.112145768) + 0.08(5.112145768)(5.381599076)
−0.9(5.112145768)(5.381599076) + 4.5(5.381599076)
=
1.382978192
−0.543171203
=
k12
k22
k13 = f(t2+h2, y2+
k12
2, z2+
k22
2) = f(0.5+ 0.25
2, 4.62870+ 1.382978192
2, 4.61114− 0.543171203
2) =
f(0.625, 5.320187246, 4.339556893) =
−0.16(5.32018724) + 0.08(5.32018724)(4.339556893)
−0.9(5.32018724)(4.339556893) + 4.5(4.339556893)
23
=
0.99575
−1.25052
=
k13
k23
k14 = f(t2 + h, y2 + k13, z2 + k2
3) = f(0.5 + 0.25, 4.62870 + 0.99575, 4.61114− 1.25052) =
f(0.75, 5.62445, 3.36062) =
−0.16(5.62445) + 0.08(5.62445)(3.36062)
−0.9(5.62445)(3.36062) + 4.5(3.36062)
=
0.61222
−1.,888680
=
k14
k24
Entonces
k10 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k10 =0.256
(
0.966895235 + 2(1.382978192 + 0.99575) + 0.61222)
k10 =0.26402
k20 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k20 =0.256
(
1.540913164 + 2(−0.543171203− 1.25052)− 1.888680)
k20 =-0.16396
Entonces los nuevos valores son:
y21 =y11 + k10 = 4.62870 +0.26402= 4.89272
z21 =z21 + k20 = 4.61114 -0.16396= 4.44718
Cuarta Iteracion
Para N = 4, t3 =0.75, y3 =4.89272 , z3 =4.44718 y h =1− 0
4=0.25
k11 = f(t3, y3, z3) = f(0.75, 4.89272, 4.44718) =
−0.16(4.89272) + 0.08(4.89272)(4.44718)
−0.9(4.89272)(4.44718) + 4.5(4.44718)
=
0.957868771
0.429376125
=
k11
k21
24
k12 = f(t3+h2, y3+
k11
2, z3+
k21
2) = f(0.75+ 0.25
2, 4.89272+ 0.957868771
2, 4.44718+ 0.429376125
2) =
f(0.875, 5.371656326, 5.661865682) =
−0.16(5.371656326) + 0.08(5.371656326)(5.661865682)
−0.9(5.371656326)(5.661865682) + 4.5(5.661865682)
=
1.14389021
−1.559350686
=
k12
k22
k13 = f(t3+h2, y3+
k12
2, z3+
k22
2) = f(0.75+ 0.25
2, 4.89272+ 1.14389021
2, 4.44718− 1.559350686
2) =
f(0.875, 5.464667046, 3.667502277) =
−0.16(5.464667046) + 0.08(5.464667046)(3.667502277)
−0.9(5.464667046)(3.667502277) + 4.5(3.667502277)
=
0.72899
−1.53375
=
k13
k23
k14 = f(t3+ h, y3+ k13, z3+ k2
3) = f(0.75+0.25, 4.89272+ 0.72899, 4.44718− 1.53375) =
f(1, 5.62171, 2.91343) =
−0.16(5.62171) + 0.08(5.62171)(2.91343)
−0.9(5.62171)(3.36062) + 4.5(2.91343)
=
0.41080
−1.630175
=
k14
k24
Entonces
k10 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k10 =0.256
(
0.957868771 + 2(1.14389021 + 0.72899) + 0.41080)
k10 =0.21310
k20 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k20 =0.256
(
0.429376125 + 2(−1.559350686− 1.53375)− 1.630175)
k20 =-0.30779
25
Entonces los nuevos valores son:
y21 =y11 + k10 = 4.89272 +0.21310= 5.10582
z21 =z21 + k20 = 4.44718 -0.30779= 4.13939
Tabla 3.1: Resultados obtenidos de las cuatro iteraciones cuando h=0.25
t y z
0 4.00000 4.00000
0.25 4.32149 4.50639
0.5 4.62870 4.61114
0.75 4.89272 4.44718
1 5.10582 4.13939
Utilizando el Sotware Matlab
Paso 1: Crear un archivo m donde se colocara la funcion
function [L] = L(t,X)
L(1) = -0.16*X(1)+0.08* X(1)*X(2);
L(2) = -0.9*X(1)*X(2)+4.5* X(2);
return;
Figura 3.1: La ventana principal de Matlab 2014a; a la derecha se muestra la funcion
en archivo m.
26
Paso 2: Ingresar los datos en el Command Window
>> RK4_NO_LINEAL(@L , 0, 1, [4, 4], 4)
Obteniendo como resultado
-------------------------------
(t) (X1) (X2)
-------------------------------
ans =
0 4.0000 4.0000
0.2500 4.3215 4.5064
0.5000 4.6287 4.6111
0.7500 4.8927 4.4472
1.0000 5.1058 4.1394
Figura 3.2: La ventana principal de Matlab 2014a, en la parte inferior derecha muestra
los resultados utilizando el algoritmo
27
Figura 3.3: Solucion numerica del sistema de ecuacion diferencial no lineal por el metodo
de Runge-Kutta de cuarto orden.
En la figura (3.3) muestra graficamente la solucion numerica de la ecuacion (3.1)
por el metodo de Runge-Kutta de orden cuatro, el comportamiento de las variable
y cuando crece y la variable z cuando decrece en el intervalo de [0,1].
28
3.2 Aplicacion 2: Modelo Matematico SEIR
Hassan, Hoda, y Mohamed, (2015). En alguna ocasion ocurre que un individuo puede
estar infectado y no contagia la enfermedad durante un periodo de tiempo. En ese caso
tenemos este modelo:
S −→ E −→ I −→ R (3.2)
En esta aplicacion analizaremos la solucion numerica del modelo SEIR , la cual consta
de un sistema de ecuaciones diferenciales no lineales que modela la fraccion temporal de
la propagacion del sarampion en una poblacion humana.
En este modelo, una poblacion supuesta constante se divide en diferentes clases, disjuntos
y basados en su estado de enfermedad.
Donde:t: Tiempo
S = S(t): Es la fraccion de la poblacion que representa susceptibles individuales al sarampion .
E = E(t): Es la fraccion de poblacion que representa individuos expuestos al sarampion.
I = I(t): Es la fraccion de poblacion que representa a individuos infecciosos con sarampion.
R = R(t): Es la fraccion de poblacion que representa individuos que se recuperaron del sarampion.
dS
dt= b− βIS − µS
dE
dt= βIS − σE − µE
dI
dt= σE − ξI − µI
dR
dt= ξI − µR
(3.3)
Ademas:
b : Tasa de natalidad constante.
β : Tasa de contagio.
µ : Tasa promedio de defunciones.
29
σ : Tasa promedio de perdida de periodo de incubacion.
ξ : Tasa de recuperacion.
De la ecuacion (3.3) se da las condiciones iniciales
S(0) = 0.5, E(0) = 0, I(0) = 0.5 y R(0) = 0
y los valores de las tasas son:
b : 0
β : 0.5
µ : 0.75
σ : 0.25
ξ : 0.75
Reemplazando en (3.3) se tiene
dS
dt= −0.5IS − 0.25S
dE
dt= 0.5IS − E
dI
dt= 0.75E − I
dR
dt= 0.75I − 0.25R
Solucion
Analizaremos el comportamiento del sarampion en la primera semana.
Primera Iteracion
Para N = 4, t0 = 0, S0 = 0.5, E0 = 0, I0 = 0.5 y R0 = 0 y h =1− 0
4=0.25
30
k11 = f(t0, S0, E0, I0, R0)
= f(0.25, 0.5, 0, 0.5, 0) =
−0.5(0.5)(0.5)− 0.25(0.5)
0.5(0.5)(0.5)− 0
0.75(0)− 0.5
0.75(0.5)− 0.25(0)
=
−0.25
0.125
−0.5
0.375
=
k11
k21
k31
k41
k12 = f(t0+h2, S0+
k11
2, E0+
k21
2, I0+
k31
2, R0+
k41
2) = f(0+0.25
2, 0.5−0.25
2, 0+0.125
2, 0.5−0.5
2, 0+0.375
2)
= f(0.125, 0.375, 0.0625, 0.25, 0.1875)
=
−0.5(0.25)(0.375)− 0.25(0.375)
0.5(0.25)(0.375)− 0.0625
0.75(0.0625)− 0.25
0.75(0.25)− 0.25(0.1875)
=
−0.140625
−0.015625
−0.203125
0.140625
=
k12
k22
k32
k42
k13 = f(t0 +h2, S0 +
k12
2, E0 +
k22
2, I0 +
k32
2, R0 +
k42
2)
= f(0 + 0.252, 0.5− 0.140625
2, 0− 0.015625
2, 0.5− 0.203125
2, 0 + 0.140625
2)
= f(0.125, 0.4296875,−0.0078125, 0.3984375, 0.0703125)
=
−0.5(0.3984375)(0.4296875)− 0.25(0.4296875)
0.5(0.3984375)(0.4296875) + 0.0078125
0.75(−0.0078125)− 0.3984375
0.75(0.3984375)− 0.25(0.0703125)
=
−0.19302
0.09341
−0.40430
0.28125
=
k13
k23
k33
k43
k14 = f(t1 + h, S1 + k13, E1 + k2
3, I1 + k33, R1 + k4
3)
= f(0 + 0.25, 0.5− 0.19302, 0 + 0.09341, 0.5− 0.40430, 0 + 0.28125)
= f(0.25, 0.30698, 0.09341, 0.09570, 0.28125)
=
−0.5(0.09570)(0.30698)− 0.25(0.30698)
0.5(0.09570)(0.30698)− 0.09341
0.75(0.09341)− 0.09570
0.75(0.09570)− 0.25(0.28125)
=
−0.09143
−0.07873
−0.02564
0.00146
=
k14
k24
k34
k44
Entonces
31
k10 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k10 =0.256(−0.25 + 2(−0.140625− 019302)− 0.09143)
k10 =-0.04203
k20 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k20 =0.256(0.125 + 2(−0.015625 + 0.09341)− 0.07873)
k20 =0.00841
k30 =h6
(
k31 + 2(k3
2 + k33) + k3
4
)
k30 =0,256(−0.5 + 2(−0.203125− 0.40430)− 0.02564)
k30 =-0.07252
k40 =h6
(
k41 + 2(k4
2 + k43) + k4
4
)
k40 =0.256(0.375 + 2(0.140625 + 0.28125) + 0.00146)
k40 =0.05084
Entonces los nuevos valores son:
S1 =S0 + k10 = 0.5-0.04203= 0.45797
E1 =E0 + k20 = 0+0.00841= 0.00841
I1 =I0 + k30 = 0.5-0.07252= 0.42748
R1 =R0 + k40 = 0+0.05084= 0.05084
Segunda Iteracion
Para N = 4, t1 = 0.25, S1 = 0.45797, E1 = 0.00841, I1 = 0.42748 y R1 = 0.05084 y
h =1− 0
4=0.25
k11 = f(t1, S1, E1, I1, R1) = f(0.25, 0.45797, 0.00841, 0.42748, 0.05084)
=
−0.5(0.42748)(0.45797)− 0.25(0.45797)
0.5(0.42748)(0.45797)− 0.00841
0.75(0.00841)− 0.42748
0.75(0.42748)− 0.25(0.05084)
=
−0.21238
0.08948
−0.42117
0.30790
=
k11
k21
k31
k41
32
k12 = f(t1 +h2, S1 +
k11
2, E1 +
k21
2, I1 +
k31
2, R1 +
k41
2)
= f(0.25 + 0.252, 0.45797− 0.21238
2, 0.00841 + 0.08948
2, 0.42748− 0.42117
2, 0.05084 + 0.30790
2)
= f(0.625, 0.35178, 0.05315, 0.21689, 0.20479)
=
−0.5(0.21689)(0.35178)− 0.25(0.35178)
0.5(0.21689)(0.35178)− 0.05315
0.75(0.05315)− 0.21689
0.75(0.21689)− 0.25(0.20479)
=
−0.12609
−0.01500
−0.17703
0.11147
=
k12
k22
k32
k42
k13 = f(t1 +h2, S1 +
k12
2, E1 +
k22
2, I1 +
k32
2, R1 +
k42
2)
= f(0.25 + 0.252, 0.45797− 0.12609
2, 0.00841− 0.01500
2, 0.42748− 0.17703
2, 0.05084 + 0.11147
2)
= f(0.625, 0.39492, 0.00091, 0.33896, 0.10658)
=
−0.5(0.33896)(0.39492)− 0.25(0.39492)
0.5(0.33896)(0.39492)− 0.00091
0.75(0.00091)− 0.33896
0.75(0.33896)− 0.25(0.10658)
=
−0.16566
0.06602
−0.33828
0.22758
=
k13
k23
k33
k43
k14 = f(t1 + h, S1 + k13, E1 + k2
3, I1 + k33, R1 + k4
3)
= f(0.25+0.25, 0.45797−0.16566, 0.00841+0.06602, 0.42748−0.33828, 0.05084+0.22758)
= f(0.75, 0.29231, 0.07443, 0.08920, 0.27842)
=
−0.5(0.08920)(0.29231)− 0.25(0.29231)
0.5(0.08920)(0.29231)− 0.07443
0.75(0.07443)− 0.08920
0.75(0.08920)− 0.25(0.27842)
=
−0.08611
−0.06139
−0.03338
−0.00271
=
k14
k24
k34
k44
Entonces
33
k11 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k11 =0.256(−0.21238 + 2(−0.12609− 0.16566)− 0.08611)
k11 =-0.03675
k21 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k21 =0.256(0.08948 + 2(−0.01500 + 0.06602)− 0.06139)
k21 =0.00542
k31 =h6
(
k31 + 2(k3
2 + k33) + k3
4
)
k31 =0.256(40.42117 + 2(−0.17703− 0.33828)− 0.03338)
k31 =-0.06188
k41 =h6
(
k41 + 2(k4
2 + k43) + k4
4
)
k41 =0.256(0.30790 + 2(0.11147 + 0.22758)− 0.00271)
k41 =0.04097
Entonces los nuevos valores son:
S2 =S1 + k11 = 0.45797-0.03675= 0.42122
E2 =E1 + k21 = 0.00841+0.00542= 0.01383
I2 =I1 + k31 = 0.42 .748-0.06188= 0.36560
R2 =R1 + k41 = 0.05084+0.04097= 0.09181
Tercera Iteracion
Para N = 4, t2 = 0.5, S2 = 0.42122, E2 = 0.01383, I2 = 0.36560 y R2 = 0.09181 y
h =1− 0
4=0.25
k11 = f(t2, S2, E2, I2, R2) = f(0.75, 0.42122, 0.01383, 0.36560, 0.09181)
=
−0.5(0.36560)(0.42122)− 0.25(0.42122)
0.5(0.36560)(0.42122)− 0.01383
0.75(0.01383)− 0.36560
0.75(0.36560)− 0.25(0.09181)
=
−0.18230
0.06317
−0.35522
0.25124
=
k11
k21
k31
k41
34
k12 = f(t1 +h2, S1 +
k11
2, E1 +
k21
2, I1 +
k31
2, R1 +
k41
2)
= f(0.5 + 0.252, 0.42122− 0.18230
2, 0.01383 + 0.06317
2, 0.36560− 0.35522
2, 0.09181 + 0.25124
2)
= f(0.875, 0.33007, 0.04542, 0.18799, 0.21744)
=
−0.5(0.18799)(0.33007)− 0.25(0.33007)
0.5(0.18794)(0.33007)− 0.04542
0.75(0.04542)− 0.18799
0.75(0.18799)− 0.25(0.21744)
=
−0.11354
−0.01439
−0.15392
0.08663
=
k12
k22
k32
k42
k13 = f(t2 +h2, S2 +
k12
2, E2 +
k22
2, I2 +
k32
2, R2 +
k42
2)
= f(0.5 + 0.252, 0.42122− 0.11354
2, 0.01383− 0.01439
2, 0.36560− 0.15392
2, 0.09181 + 0.08663
2)
= f(0.875, 0.36445, 0.00664, 0.28864, 0.13513)
=
−0.5(0.28864)(0.36445)− 0.25(0.36445)
0.5(0.28864)(0.36445)− 0.00664
0.75(0.00664)− 0.28864
0.75(0.28864)− 0.25(0.13513)
=
−0.14371
0.04596
−0.28366
0.18269
=
k13
k23
k33
k43
k14 = f(t2 + h, S2 + k13, E2 + k2
3, I2 + k33, R2 + k4
3)
= f(0.5+0.25, 0.42122−0.14371, 0.01383+0.04596, 0.36560−0.28366, 0.09181+0.18269)
= f(0.75, 0.27751, 0.05979, 0.08194, 0.27451)
=
−0.5(0.08194)(0.27751)− 0.25(0.27751)
0.5(0.08194)(0.27751)− 0.05979
0.75(0.05979)− 0.08194
0.75(0.08194)− 0.25(0.27451)
=
−0.08075
−0.04842
−0.03710
−0.00717
=
k14
k24
k34
k44
Entonces
35
k11 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k11 =0.256(−0.18230 + 2(−0.11354− 0.14371)− 0.08075)
k11 =-0.03240
k21 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k21 =0.256(0.06317 + 2(−0.01439 + 0.04592)− 0.04842)
k21 =0.00324
k31 =h6
(
k31 + 2(k3
2 + k33) + k3
4
)
k31 =0.256(−0.35522 + 2(−0.15392− 0.28366)− 0.03710)
k31 =-0.05281
k41 =h6
(
k41 + 2(k4
2 + k43) + k4
4
)
k41 =0.256(0.25124 + 2(0.08663 + 0.18269)− 0.00717)
k41 =0.03261
Entonces los nuevos valores son:
S3 =S2 + k11 = 0.42122-0.03240= 0.38882
E3 =E2 + k21 = 0.01383+0.00324= 0.01708
I3 =I2 + k31 = 0.36560-0.05281= 0.31279
R3 =R2 + k41 = 0.09181+0.03261= 0.12443
Cuarta Iteracion
Para N = 4, t2 = 0.75, S3 = 0.38882, E3 = 0.01708, I3 = 0.31279 y R3 = 0.12443 y
h =1− 0
4=0.25
k11 = f(t2, S2, E2, I2, R2) = f(1, 0.38882, 0.01708, 0.31279, 0.12443)
=
−0.5(0.1279)(0.38882)− 0.25(0.38882)
0.5(0.31279)(0.08882)− 0.01708
0.75(0.01708)− 0.31279
0.75(0.31279)− 0.25(0.12443)
=
−0.15801
0.04373
−0.29998
0.20348
=
k11
k21
k31
k41
36
k12 = f(t3 +h2, S3 +
k11
2, E3 +
k21
2, I3 +
k31
2, R3 +
k41
2)
= f(
1 + 0.252, 0.38882− 0.15801
2, 0.01708 + 0.04373
2, 0.31279− 0.29998
2, 0.12443 + 0.20348
2
)
= f(1.125, 0.30981, 0.03894, 0.16280, 0.22617)
=
−0.5(0.16280)(0.30981)− 0.25(0.30981)
0.5(0.16280)(0.30981)− 0.03894
0.75(0.00894)− 0.16280
0.75(0.16280)− 0.25(0.22617)
=
−0.10267
−0.01372
−0.13359
0.06556
=
k12
k22
k32
k42
k13 = f(t3 +h2, S3 +
k12
2, E3 +
k22
2, I3 +
k32
2, R3 +
k42
2)
= f(1 + 0.252, 0.38882− 0.10267
2, 0.01708−0.01372
2, 0.31279− 0.13359
2, 0.12443 + 0.06556
2)
= f(1.125, 0.33749, 0.01022, 0.24599, 0.15720)
=
−0.5(0.24599)(0.33749)− 0.25(0.33749)
0.5(0.24599)(0.33749)− 0.01022
0.75(0.01022)− 0.24599
0.75(0.24599)− 0.25(0.15720)
=
−0.12588
0.03129
−0.23833
0.14519
=
k13
k23
k33
k43
k14 = f(t2 + h, S3 + k13, E3 + k2
3, I3 + k33, R3 + k4
3)
= f(1+0.25, 0.38882− 0.12588, 0.01708+0.03129, 0.31279− 0.23833, 0.12443+014519)
= f(1.25, 0.26244, 0.04837, 0.07446, 0.26962)
=
−0.5(0.07446)(0.26294)− 0.25(0.26294)
0.5(0.07446)(0.26294)− 0.04837
0.75(0.04837)− 0.07446
0.75(0.07446)− 0.25(0.26962)
=
−0.07552
−0.03858
−0.03818
−0.01156
=
k14
k24
k34
k44
Entonces
37
k11 =h6
(
k11 + 2(k1
2 + k13) + k1
4
)
k11 =0,256(−0.15801 + 2(−0.10267− 0.12588)− 0.07552)
k11 =-0.02878
k21 =h6
(
k21 + 2(k2
2 + k23) + k2
4
)
k21 =0.256(0.04373 + 2(−0.9372 + 0.03129)− 0.03858)
k21 =0.00168
k31 =h6
(
k31 + 2(k3
2 + k33) + k3
4
)
k31 =0.256(−0.29998 + 2(−0.13359− 0.23833)− 0.03818)
k31 =-0.04508
k41 =h6
(
k41 + 2(k4
2 + k43) + k4
4
)
k41 =0.256(0.20348 + 2(0.06556 + 0.14519)− 0.01156)
k41 =0.02556
Entonces los nuevos valores son:
S4 =S3 + k11 = 0.38882-0.02878= 0.36004
E4 =E3 + k21 = 0.01708+0.00168= 0.01876
I4 =I3 + k31 = 0.31279-0.04508= 0.26770
R4 =R3 + k41 = 0.12443+0.02556= 0.14999
Tabla 3.2: Resultados obtenidos de las cuatro iteraciones cuando h=0.25
t S E I R
0 0.50000 0.00000 0.50000 0.00000
0.25 0.45797 0.00841 0.42748 0.05084
0.5 0.42122 0.01383 0.36560 0.09181
0.75 0.38882 0.01708 0.31279 0.12443
1 0.36004 0.01876 0.26770 0.14999
38
Utilizando el Sotware Matlab
Paso 1: Crear un archivo m donde se colocara la funcion
function [M] = M(t,X)
%S=X(1)
%E=X(2)
%I=X(3)
%R=X(4)
M(1) = -0.5*X(3)*X(1) -0.25* X(1);
M(2) = 0.5*X(3)*X(1)-X(2);
M(3)=0.75* X(2)-X(3);
M(4)=0.75* X(3) -0.25* X(4);
return;
Figura 3.4: La ventana principal de Matlab 2014a; a la derecha se muestra la funcion
en archivo m.
39
Paso 2: Ingresar los datos en el Command Window
>> RK4_NO_LINEAL(@M , 0, 1, [0.5,0,0.5,0], 4)
Obteniendo como resultado
--------------------------------------------------
(t) (X1) (X2) (X3) (X4)
--------------------------------------------------
ans =
0 0.5000 0 0.5000 0
0.2500 0.4580 0.0084 0.4275 0.0508
0.5000 0.4212 0.0138 0.3656 0.0918
0.7500 0.3888 0.0171 0.3128 0.1244
1.0000 0.3600 0.0188 0.2677 0.1500
Figura 3.5: La ventana principal de Matlab 2014a, en la parte inferior derecha muestra
los resultados utilizando el algoritmo
40
0 0.2 0.4 0.6 0.8 10
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
tiempo (1 semana)
Prop
agac
ión
del S
aram
pión
Modelo Matemático SEIR Aplicado al Sarampión
S=SusceptiblesE=ExpuestosI=InfectadosR=Recuperados
Figura 3.6: Muestra el comportamiento del sarampion en 1 semana
Como se puede observar en la Tabla (3.2) y la Figura (3.5) mostramos los resultados
obtenidos utilizando el metodo de Runge-Kutta y a la vez comprobando con el software
Matlab llegamos al mismo resultado la cual va a permitir solucionar de manera eficiente
el sistema no lineal.
Ademas en la Figura (3.6) se ve como es el comportamiento del sarampion 1 semana.
De acuerdo a los datos obtenidos en 1 semana se concluye que:
0.36004 S=S(t): Es la fraccion de la poblacion que representa susceptibles individuales al sarampion .
0.01876 E=E(t): Es la fraccion de poblacion que representa individuos expuestos al sarampion.
0.26770 I=I(t): Es la fraccion de poblacion que representa a individuos infecciosos con sarampion.
0.14999 R=R(t): Es la fraccion de poblacion que representa individuos que se recuperaron del sarampion.
Ahora vamos hacer un analisis en las 30 primeras semanas utilizando el software Matlab.
>> RK4_NO_LINEAL(@M , 0, 30, [0.5,0,0.5,0], 30)
Obteniendo como resultado
41
--------------------------------------------------
(t) (X1) (X2) (X3) (X4)
--------------------------------------------------
ans =
0 0.5000 0 0.5000 0
1.0000 0.3319 0.0336 0.2099 0.2034
2.0000 0.2410 0.0233 0.0934 0.2489
3.0000 0.1818 0.0124 0.0429 0.2353
4.0000 0.1395 0.0060 0.0199 0.2026
5.0000 0.1079 0.0027 0.0092 0.1667
6.0000 0.0838 0.0012 0.0042 0.1340
7.0000 0.0651 0.0005 0.0019 0.1062
8.0000 0.0507 0.0002 0.0009 0.0836
9.0000 0.0395 0.0001 0.0004 0.0655
10.0000 0.0307 0.0000 0.0002 0.0512
11.0000 0.0239 0.0000 0.0001 0.0399
12.0000 0.0186 0.0000 0.0000 0.0311
13.0000 0.0145 0.0000 0.0000 0.0242
14.0000 0.0113 0.0000 0.0000 0.0189
15.0000 0.0088 0.0000 0.0000 0.0147
16.0000 0.0069 0.0000 0.0000 0.0115
17.0000 0.0053 0.0000 0.0000 0.0089
18.0000 0.0042 0.0000 0.0000 0.0070
19.0000 0.0032 0.0000 0.0000 0.0054
20.0000 0.0025 0.0000 0.0000 0.0042
21.0000 0.0020 0.0000 0.0000 0.0033
22.0000 0.0015 0.0000 0.0000 0.0026
23.0000 0.0012 0.0000 0.0000 0.0020
24.0000 0.0009 0.0000 0.0000 0.0016
25.0000 0.0007 0.0000 0.0000 0.0012
42
26.0000 0.0006 0.0000 0.0000 0.0009
27.0000 0.0004 0.0000 0.0000 0.0007
28.0000 0.0003 0.0000 0.0000 0.0006
29.0000 0.0003 0.0000 0.0000 0.0004
30.0000 0.0002 0.0000 0.0000 0.0003
0 5 10 15 20 25 300
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
tiempo (30 semanas)
Pro
pa
ga
ció
n d
el S
ara
mp
ión
Modelo Matemático SEIR Aplicado al Sarampión
S=SusceptiblesE=ExpuestosI=InfectadosR=Recuperados
Figura 3.7: Muestra el comportamiento del sarampion en 30 semanas
Haciendo un analisis en las 30 primeras semana con un tratamiento para que el saram-
pion desaparezca se concluye que:
A la semana 30 S(t) que es la fraccion de la poblacion que representa susceptibles indi-
viduales al sarampion, no hay poblacion susceptible al sarampion.
A la semana 10 E(t) que es la fraccion de poblacion que representa individuos expuestos
al sarampion, ya no se encuentran expuestos totalmente.
43
A la semana 12 I(t) que es la fraccion de poblacion que representa a individuos infec-
ciosos con sarampion, ya no estan infectados.
A la semana 30 R(t) que es la fraccion de poblacion que representa individuos que se
recuperaron del sarampion, se han recuperado totalmente.
En la Figura (3.7) se observa que el comportamiento del sarampion tiende a desaparecer
al transcurrir el tiempo con un tratamiento adecuado.
Conclusiones
1. El presente trabajo de investigacion presentamos dos aplicaciones de sistemas de
ecuaciones diferenciales ordinarias no lineales, la primera aplicacion trata sobre
un sistema clasico de dos ecuaciones y la segunda aplicacion trata sobre el mode-
lo epidemiologico SEIR, ambos sistemas son resueltos de forma numerica por el
metodo de Runge-Kutta de orden 4.
2. En la aplicacion del modelo epidemiologico SEIR basado en el sarampion hicimos
dos analisis detallando como es el comportamiento del tratamiento del sarampion,
en el primer analisis se hizo para una semana donde dicho modelo es resuelto por
el metodo de Runge-Kutta de orden 4 y el software Matlab para simplificar el
proceso, ademas se comprobo que coincide los resultados tanto de forma iterativa
como el uso del software Matlab y en el segundo analisis se hizo para 30 semanas
de manera directa con el software Matlab donde se concluye que de acuerdo al
tratamiento tiende a desaparecer el sarampion.
3. El metodo de Runge-Kutta de orden 4 permite resolver cualquier sistema de ecua-
ciones diferenciales ordinarias no lineales.
4. El metodo de Runge-Kutta de orden 4 es un buen metodo de solucion de un
sistema de ecuaciones diferenciales ordinarias no lineales y se implementa en el
software Matlab, ademas se puede implementar en excel, geogebra, en python y
R.
Recomendaciones
1. Dar a conocer a los estudiantes y docentes de Matematica en profundizar la inves-
tigacion en sistemas de ecuaciones diferenciales ordinarias no lineales basado en
reactores quımicos y en modelos epidemiologicos utilizando el metodo de Runge-
Kutta.
2. Utilizar el Software Matlab para solucionar cualquier sistema de ecuaciones dife-
renciales ordinarias no lineales.
47
Referencias Bibliograficas
Alhiet O., Cristian M. & Alfonso V. (2010). Software para ciencia e ingenierıa MATLAB.
Empresa Editora MACRO.
Ayres, F. (2008). Ecuaciones Diferenciales. Mc Graw-Hill.
Arenas, S. & Ramırez, M. (2010). Cuaderno de Ejercicios de Ecuaciones Diferenciales.
Facultad de Ingenierıa, UNAM.
Burden, R.& Faires, J. (2005). Numerical Analysis. Numerical Solutions of Nonlinear
Systems of Equations, (pp. 597-640). Belmount: Thomson Brooks/Cole.
Carrasco, L. & Heredia, J. (2020). Sistemas de Ecuaciones Diferenciales Ordinarias Linea-
les no Homogeneas por el Metodo de Runge Kutta Asistido con Matlab [Tesis de
Licenciatura, Universidad Nacional Pedro Ruiz Gallo]. https://n9.cl/gexge
Conde, C.& Schiavi E. (2001). Metodos numericos de resolucion de ecuaciones no linea-
les. Universidad Politecnica de Madrid, Espana.
Chapra, S. & Canale, R. (2010). Numerical Methods for Engineers. Mcgraw-Hill.
Coronel, D. & Chavez, D. (2017). Solucion Numerica de Ecuaciones Diferenciales Ordi-
narias no Lineales Asistida con Matlab [Tesis de Licenciatura, Universidad Nacional
Pedro Ruiz Gallo]. https://n9.cl/ntjef
Courtney, R. (2013). Numerical Methods for Solving Systems of Nonlinear Equations.
https://n9.cl/i4l1
De Castro, C. (2014). Metodos Numericos Basicos para Ingenierıa con Implementa-
ciones en Matlab y Excel. Asesorıas en Matematicas, Fısica e Ingenierıa.
https://n9.cl/9kf8a
48
Esquerro, J. (2012). Iniciacion a los metodos numericos. Universidad de la Rioja, servicio
de publicaciones. https://n9.cl/i4le6
Ferrante, J., Di Blasi, M. & Krujovsky, C. (2011). Sistema de Ecuaciones no Lineales.
Facultad Regional General Pacheco-Departamento de Ciencias Basicas-Unidad Do-
cente Basica Matematica. https://n9.cl/tjmz0
Hassan, A., Hoda, S. y Mohamed, G. (2015). Numerical Solution of a System SEIR Non-
linear ODEs by Runge-Kutta Fourth Order Method. International Journal of Compu-
ter Applications (0975-8887), 124(3). https://n9.cl/zy2cr
Kharab, A. & Guenther, R. (2012). An Introduction to Numerical Methods a MATLAB
Approach, Trird Edition-2012.
Masgo, J. (2014). Sistemas Dinamicos no Lineales para la Simulacion del Control del
VIH y Ver su Comportamiento Bajo la Accion de Antirretrovirales [Tesis Licenciatu-
ra, Universidad Nacional de Ingenierıa]. https://n9.cl/u6fvr
Ministerio de Salud, (2011). Informacion sobre el Sarampion. https://n9.cl/apmvc
Montero G., (2005). Metodos iterativos para la resolucion de sistemas de ecuaciones no
lineales. Escuela Tecnica Superior de Ingenieros Industriales, Universidad de las Pal-
mas de Gran Canaria, Curso. https://n9.cl/ky56
Moya, A. (2009). Sistemas de Ecuaciones no Lineales. Facultad Nacional de Ingenierıa.
Oyola, D. & Parraguez, P. (2020). Ecuaciones Diferenciales Ordinarias en la Solucion
de Problemas de Oferta y Demanda Asistidos con Matlab [Tesis de Licenciatura,
Universidad Nacional Pedro Ruiz Gallo]. https://n9.cl/im8r8
Pino, N., Lopez, R. & Wainer, G. (2017). Modelamiento Computacional de la Dinamica
de Transmision de la Varicela mediante Automatas Celulares (Cell-DEVS). PESQUI-
MAT 20(2), 53-64. https://n9.cl/ib3lw
Saenz C., (2006) Resolucion Numerica de Sistemas de Ecuaciones no Lineales.
Universidad Pontificia Comillas, Escuela Tecnica Superior de Ingenierıa (ICAE).
https://n9.cl/hmt6
49
Simmons, G. (1998). Ecuaciones Diferenciales (con aplicaciones y notas historicas). Mc
Graw-Hill.
Spiegel, R. (1993). Ecuaciones Diferenciales Aplicadas. Prentice-Hall Mexico.
Zill, D. (1998). Ecuaciones Diferenciales con aplicaciones. Grupo editorial Iberoamerica-
na.
Anexo
3.2.0 Algoritmo del Metodo de Runge-Kutta para Sistemas no
lineales
function R = RK4_NO_LINEAL(F, a, b, X0 , N)
% Sintaxis
% [t, X] = RK4_NO_LINEAL(F, a, b, X0 , N)
% Entrada
% - F es el sistema de ecuaciones diferenciales
% - a y b son los extremos del intervalo
% - X0 es la condicion inicial XO = [X10 , X20 , . . ., XM0]
% - N es el numero de pasos
% - t es el vector de la abscisas o variable independiente
% - X es el vector de resultados , X = [X1 , X2 , . . ., XM]
H = (b - a) / N;
t = zeros(1, N +1);
X = zeros(N+1 , length(X0));
t = [a : H : b];
X(1, :) = X0;
for J = 1 : N
K11 = H*feval(F, t(J), X(J, :));
K12 = H*feval(F, t(J) + H/2, X(J, :) + K11 /2);
51
K13 = H*feval(F, t(J) + H/2, X(J, :) + K12 /2);
K14 = H*feval(F, t(J) + H, X(J, :) + K13);
X(J+1, :) = X(J, :)+( K11 + 2*K12 + 2*K13 + K14 )/6;
end
R=[t X];
disp(’-------------------------------------------------- ’)
disp(’ (t) (X1) (X2) (X3) (X4)’)
disp(’-------------------------------------------------- ’)
plot(t,X)
3.2.0 Proceso Iterativo de la Aplicacion 1 con Matlab
>> RK4_NO_LINEAL(@L , 0, 1, [4, 4], 4)
K11 =
0.6400 3.6000
K12 =
1.3133 3.5496
K13 =
1.4062 1.7846
K14 =
1.6368 -2.1149
X =
4.0000 4.0000
4.3215 4.5064
52
0 0
0 0
0 0
K11 =
0.8665 2.7519
K12 =
1.4768 1.2984
K13 =
1.2773 -0.2778
K14 =
0.9982 -2.2790
X =
4.0000 4.0000
4.3215 4.5064
4.6287 4.6111
0 0
0 0
K11 =
0.9669 1.5409
K12 =
1.3830 -0.5432
53
K13 =
0.9958 -1.2505
K14 =
0.6122 -1.8887
X =
4.0000 4.0000
4.3215 4.5064
4.6287 4.6111
4.8927 4.4472
0 0
K11 =
0.9579 0.4294
K12 =
1.1439 -1.5594
K13 =
0.7290 -1.5338
K14 =
0.4108 -1.6302
X =
4.0000 4.0000
4.3215 4.5064
4.6287 4.6111
54
4.8927 4.4472
5.1058 4.1394
--------------------------------------------------
(t) (X1) (X2)
--------------------------------------------------
ans =
0 4.0000 4.0000
0.2500 4.3215 4.5064
0.5000 4.6287 4.6111
0.7500 4.8927 4.4472
1.0000 5.1058 4.1394
3.2.0 Proceso Iterativo de la Aplicacion 2 con Matlab
>> RK4_NO_LINEAL(@M , 0, 1, [0.5,0,0.5,0], 4)
K11 =
-0.2500 0.1250 -0.5000 0.3750
K12 =
-0.1406 -0.0156 -0.2031 0.1406
K13 =
55
-0.1930 0.0934 -0.4043 0.2813
K14 =
-0.0914 -0.0787 -0.0256 0.0015
X =
0.5000 0 0.5000 0
0.4580 0.0084 0.4275 0.0508
0 0 0 0
0 0 0 0
0 0 0 0
K11 =
-0.2124 0.0895 -0.4212 0.3079
K12 =
-0.1261 -0.0150 -0.1770 0.1115
K13 =
-0.1657 0.0660 -0.3383 0.2276
56
K14 =
-0.0861 -0.0614 -0.0334 -0.0027
X =
0.5000 0 0.5000 0
0.4580 0.0084 0.4275 0.0508
0.4212 0.0138 0.3656 0.0918
0 0 0 0
0 0 0 0
K11 =
-0.1823 0.0632 -0.3552 0.2512
K12 =
-0.1135 -0.0144 -0.1539 0.0866
K13 =
-0.1437 0.0460 -0.2837 0.1827
57
K14 =
-0.0807 -0.0484 -0.0371 -0.0072
X =
0.5000 0 0.5000 0
0.4580 0.0084 0.4275 0.0508
0.4212 0.0138 0.3656 0.0918
0.3888 0.0171 0.3128 0.1244
0 0 0 0
K11 =
-0.1580 0.0437 -0.3000 0.2035
K12 =
-0.1027 -0.0137 -0.1336 0.0656
K13 =
-0.1259 0.0313 -0.2383 0.1452
58
K14 =
-0.0755 -0.0386 -0.0382 -0.0116
X =
0.5000 0 0.5000 0
0.4580 0.0084 0.4275 0.0508
0.4212 0.0138 0.3656 0.0918
0.3888 0.0171 0.3128 0.1244
0.3600 0.0188 0.2677 0.1500
--------------------------------------------------
(t) (X1) (X2) (X3) (X4)
--------------------------------------------------
ans =
0 0.5000 0 0.5000 0
0.2500 0.4580 0.0084 0.4275 0.0508
0.5000 0.4212 0.0138 0.3656 0.0918
0.7500 0.3888 0.0171 0.3128 0.1244
1.0000 0.3600 0.0188 0.2677 0.1500
59
60
61
62
63