Você está na página 1de 34

UNIVERSIDADE FEDERAL DE ALAGOAS-UFAL

CAMPUS DE ARAPIRACA
MATEMÁTICA - LICENCIATURA

MILENA BARBOSA GAMA

DISCRETIZAÇÃO DOS MODELOS LOGÍSTICO E DE COMPETIÇÃO VIA


MÉTODO DE RUNGE-KUTTA DE 4a ORDEM

ARAPIRACA
2019
Milena Barbosa Gama

Discretização dos Modelos Logístico e de Competição via Método de Runge-Kutta de 4a Ordem

Monografia apresentada como requisito parcial para


obtenção do grau de Licenciada em Matemática -
Licenciatura da Universidade Federal de Alagoas -
UFAL, Campus de Arapiraca.

Orientador: Prof. Dr. Rinaldo Vieira da Silva


Júnior

Arapiraca
2019
À minha família.
AGRADECIMENTOS

"Tudo no seu tempo...", eis a frase que permaneceu em minha mente nestes últimos
anos de graduação, e é indescrítivel o sentimento que se tem ao se concluir mais uma etapa de
nossas vidas e, que também é indispensável o agradecimento por aqueles que foram nossa base e
apoio para enfrentar os momentos que se mostraram difíceis durante a trajetória, pois jamais eu
conseguiria enfrentar sozinha.
Agradeço a minha família que sempre permaneceu comigo, nos momentos em que
me abalei com o acúmulo de tarefas da universidade, nos momentos que vibrei de alegria, e
principalmente me estimulando a não só chegar até aqui, mas ir mais longe. Amo Vocês!
É claro que em nossas trajetórias, a união de uma turma muda o caminhar dela, para
coisas boas, é claro! Agradeço vocês, pelos momentos de acolhimento e preocupação, pelos
momentos de descontração nos laboratórios reunidos para falar sobre vídeos no youtube, sobre
aquele série favorita ou até mesmo os livros de Dan Brown. Obrigada a todos pela preocupação
que tiveram comigo e pela amizade.
Agradeço aos membros do PIBIC 18/19 e ao meu Orientador, Rinaldo, pelas discussões
e orientações que tivemos muitas vezes nas manhãs de quartas-feiras, que me incentivaram a
pesquisar e me mostraram cada um com sua particularidades as coisas lindas que a matemática
tem.
Não deixando de agradecer a todos os meus professores, aos meus amigos do ensino
médio e as pessoas que desde 2015 são luz em minha vida, nada teria sido igual se eu não tivesse
conhecido vocês, cada sábado que permaneci junto com vocês fez de mim uma pessoa melhor,
aquelas pessoas que me ensinaram a lidar com minha sensibilidade e de quem eu sou fã, agradeço
muito pela irmandade. Amo vocês!
RESUMO

As Equações Diferenciais Ordinárias têm grande importância em outras áreas de conhecimento,


pois modelam situações reais. Nessas equações é possível compreender, antecipar e reproduzir
determinadas situações. Neste trabalho serão apresentados dois modelos matemáticos com
aplicação na biologia, o primeiro é o Modelo com saturação de crescimento tumoral ou modelo
logístico, possuindo solução analítica e o segundo é o Modelo em Competição, representado
por um Sistema de Equações Diferenciais Ordinárias, este não possuí solução analítica. Para a
obtenção das soluções foi utilizado o ambiente computacional python para implementação. O
trabalho tem o objetivo de investigar e analisar a eficácia do método de Runge-Kutta de 4a Ordem
em Equações Diferenciais Ordinárias (EDO’s). O trabalho é de natureza quali-quantitativa,
bibliográfica e explicativa, visando unir os resultados obtidos computacionalmente com a teoria.

Palavras-chave: Ambiente computacional. Equações diferenciais ordinárias. Solução numérica.


ABSTRACT

At Ordinary Differential Equations have great importance in others knowledge areas, because
they model real situations. In this equations is possible comprehend, anticipate and reproduce
certain situations. In this work will be presented two mathematicians models with application
in biology, the first is the model with tumor growth saturation, or logistic model, possessing
analytical solution and the second is the model in competition, represented per one system of
Ordinary Differential Equations, this has no analytical solution. For the getting of solutions was
used the python computing environment for implementation. The work has the objective of inves-
tigate and analyze the efficiency of method of Runge-Kutta of 4a Order in Ordinary Differential
Equations. The work is of qualitative-quantitative nature, bibliographic and explanatory, aiming
unite the results obtained computationally with the theory.

Keywords: Computational environment. Ordinary differential equations. Numerical dolution.


LISTA DE FIGURAS

Figura 1 – Plotagem do gráfico do Modelo Logístico: Método de Runge-Kutta de 4a Ordem . 24


Figura 2 – Plotagem do gráfico do Sistema de EDO: Método de Runge-Kutta de 4a Ordem . . 27
LISTA DE QUADROS

Quadro 1 – Análise de Erro: Modelo Logístico . . . . . . . . . . . . . . . . . . . . . . . 25


Quadro 2 – Solução Numérica do Sistema em Competição . . . . . . . . . . . . . . . . . 28
SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS . . . . . . . . . . . . . . . 10


2.1 BREVE HISTÓRICO DAS EQUAÇÕES DIFERENCIAIS . . . . . . . . . 10
2.2 TEOREMA DE EXISTÊNCIA E UNICIDADE . . . . . . . . . . . . . . . 10
2.3 DEFINIÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 EQUAÇÃO HOMOGÊNEA . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 SEPARAÇÃO DE VARIÁVEIS . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 SISTEMA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS . . . . . . . . 13

3 MÉTODOS NUMÉRICOS . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 MÉTODO DE RUNGE-KUTTA DE 4a ORDEM . . . . . . . . . . . . . . . 14
3.2 ANÁLISE DE ESTABILIDADE DOS PONTOS DE EQUILÍBRIO . . . . . 15

4 MODELOS MATEMÁTICOS APLICADOS A BIOLOGIA . . . . . . . 17


4.1 PRINCIPAIS DEFINIÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 MODELO LOGÍSTICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 MODELO EM COMPETIÇÃO . . . . . . . . . . . . . . . . . . . . . . . . 17

5 LINGUAGEM COMPUTACIONAL PYTHON . . . . . . . . . . . . . . 20


5.1 ALGUNS ASPECTOS SOBRE A HISTÓRIA DO PYTHON . . . . . . . . 20
5.2 BIBLIOTECAS NUMPY E MATPLOTLIB . . . . . . . . . . . . . . . . . 20
5.3 IMPORTÂNCIA DO PYTHON PARA A OBTENÇÃO DAS SOLUÇÕES
NUMÉRICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6 DISCRETIZAÇÃO DOS MODELOS BIOLÓGICOS . . . . . . . . . . 22


6.1 MODELO LOGÍSTICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2 MODELO EM COMPETIÇÃO . . . . . . . . . . . . . . . . . . . . . . . . 25

7 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9

1 INTRODUÇÃO

A matemática sempre foi peça chave de diversas outras áreas de conhecimento, como
na Engenharia, Biologia, Administração, e essa inserção em outras áreas acarretou o estudo
da linguagem de equações diferenciais ordinárias, apresentando-se como principal linguagem
na modelagem de situações reais. Alguns métodos fazem-se necessários nas soluções dessas
equações, como os métodos numéricos, Nadson (SOUSA et al., 2019) comenta que O uso
de métodos numéricos torna-se uma alternativa na busca de aproximações dessas soluções. E
segundo Cristina (CUNHA, 2003) A essência dos métodos numéricos está na discretização do
contínuo. É esta discretização que torna “finito” o problema e, portanto, viabiliza sua “solução”
através de computadores.
Ao obter uma solução aproximada da realidade a partir de uma equação diferencial
ordinária, se está modelando um fenômeno para uma linguagem matemática, a fim de simular e
prever o que acontece com determinado fenômeno, desta forma é a partir das soluções numéricas
que se pode investigar a aplicabilidade dos modelos propostos, com o intuito de buscar o método
que melhor se aproxima da realidade.
Esta pesquisa surgiu no Programa Institucional de Bolsas de Iniciação Científica (PIBIC),
com o intuito de investigar as soluções numéricas para Equações diferenciais. O texto divide-se
em cinco capítulos, no primeiro capítulo são descritos os principais conceitos de equações
diferenciais ordinárias e soluções analíticas de algumas equações. No segundo capítulo é descrito
o método utilizado na pesquisa, sendo este o de Runge-Kutta de 4a Ordem, assim como equilíbrio
e estabilidade de um sistema de EDO. O terceiro capítulo defini os conceitos biológicos e os mo-
delos que serão investigados. O quarto capítulo descreve a história da linguagem computacional
python e as bibliotecas utilizadas na interface do programa e o quinto capítulo a aplicação da
discretização dos modelos biológicos.
10

2 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Neste capítulo veremos um breve histórico sobre equações diferenciais tendo como
referencial (BASSANEZI; JUNIOR, 1988) e algumas definições, exemplos de aplicações de
equações diferencias ordinárias e soluções analíticas utilizando as principais definições de uma
EDO, tendo embasamento nas demonstrações de (OLIVEIRA, 2007) e nos livros (ZILL, 2003),
(BOYCE; DIPRIMA, 1985), (MINHÓS, 2009).

2.1 BREVE HISTÓRICO DAS EQUAÇÕES DIFERENCIAIS

O Cálculo Diferencial (Diferencial e Integral) e as Equações Diferenciais nasceram


juntos e os dois teoremas básicos do Cálculo estão intimamente ligados à solução da Equação
diferencial mais simples e importante (BASSANEZI; JUNIOR, 1988)
x0 (t) = f (t)
ou seja, obter x(t), uma vez fornecida a sua derivada f (t). O Teorema Fundamental do Cálculo
Rt
Integral nos fornece uma solução: x(t) = a f (z) dz (se f for contínua) e o Teorema do Valor
Rt
Médio assegura que todas as soluções podem ser escritas na forma c + a f (z) dz, onde c é uma
constante.
O estudo incial das equações diferenciais se deu pela motivação em estudar a mecânica,
como os movimentos dos planetas, a catenária, e estes problemas haviam sido estudados por
homens do quilate como J. Kepler e L. da Vinci, porém para modelar os fenômenos e assim chegar
a uma solução, faltava uma teoria matemática. Somente a partir do surgimento do Cálculo no
final do século XVII e por obra de I. Newton e G. W . Leibnitz, vários problemas incluindo os da
mecânica puderam ser modelados matematicamente. E segundo (BASSANEZI; JUNIOR, 1988),
a partir desta época surgia a questão da resolução dos problemas matemáticos apresentados
por estes modelos. Vários deles foram resolvidos explicitamente e de maneira elegante por
matemáticos de extraordinária habilidade operacional.
Com o passar do tempo, notou-se que não seria possível obter métodos gerais que
pudessem resolver todas as equações diferenciais. Diante disso, Euler introduziu métodos que
geravam uma solução aproximada dessas equações, o que deu origem aos métodos do cálculo
numérico. O primeiro deles realizava uma aproximação por linhas poligonais, já o segundo é
aproximado por polinômios ou por uma série de potências.
Após varios estudos, segundo (BASSANEZI; JUNIOR, 1988) iniciou-se assim a teoria
qualitativa geométrica representada po H. Poincaré (1854-1912) e A. M. Liapounov (1857-1918),
bem como a teoria de aproximação analítica (expansão em séries) e de aproximação numérica.

2.2 TEOREMA DE EXISTÊNCIA E UNICIDADE

Seja F : Ω → R, onde Ω ⊂ R2 é um aberto contendo o ponto (a, b), com F = F (x, y) e


∂F
contínuas. As seguintes afirmações são verdadeiras.
∂y
11

i) (Enunciado Clássico) Em algum intervalo aberto contendo o ponto a, existem uma e


somente uma solução para o problema com valor incial

y 0 (x) = F (x, y(x))
y(a) = b

ii) Existe um aberto contendo o ponto (a.b) e um raio ρ > 0 tais que para todo ponto (α, β)
neste aberto, existe uma e somente uma solução de

y 0 = F (x, y)
y(α) = β

definida no intervalo aberto (α − ρ, α + ρ).

iii) Dado um compacto K ⊂ Ω, existe um raio ρ > 0 tal que para todo ponto (α, β) neste
compacto, existe uma e somente uma solução de

y 0 = F (x, y)
y(α) = β

2.3 DEFINIÇÕES

Definição 2.1. Uma equação diferencial ordinária (EDO) é uma equação da forma:

F (x, y(x), y 0 (x), y 00 (x), ..., y n (x)) = 0 (2.1)

envolvendo uma função icógnita y = y(x) e suas derivadas ou suas diferenciais, x é a variável
independente, y é a variável dependente e o símbolo y k denota a derivada de ordem k da função
y = y(x).

Observação 2.1. As Equações Diferenciais Ordinárias abrangem uma área muito vasta, podendo
ser analisada ou apresentada por diferentes conceitos, privilegiando esta ou aquela área específica
da Matemática, e atribuindo ao seu conteúdo uma abordagem de acordo com os objetivos
pretendidos para a especialização a atingir.

2.4 EQUAÇÃO HOMOGÊNEA

Uma equação diferencial da forma

M (x, y)dx + N (x, y)dy = 0

é chamada de homogênea se ambos os coeficientes M e N são funções homogêneas do mesmo


grau.
12

Exemplo 2.1. Podemos verificar que (x2 + y 2 )dx + (x2 − xy)dy = 0 é uma ED0 homogênea.
Pois, a seguinte propriedade é satisfeita

M (tx, ty) = tn M (x, y) e N (tx, ty) = tn N (x, y)

com n ∈ R.
Consideremos M (x, y) = x2 +y 2 e N (x, y) = x2 −xy, assim M (tx, ty) = t2 x2 +t2 y 2 =
t2 (x2 + y 2 ) e N (tx, ty) = t2 x2 − txty = t2 (x2 − xy). Como M e N são funções de mesmo
grau com n = 2, temos que a EDO é homogênea.

2.5 SEPARAÇÃO DE VARIÁVEIS

dy g(x)
Um equação diferencial da forma = , é chamada separável ou tem variáveis
dx h(y)
separáveis. Podemos reencrever da seguinte fora:
Z Z
h(y)dy = g(x)dx

Exemplo 2.2. Parece plausível esperar que a taxa de crescimento de uma população P seja
proporcional à população presente naquele instante. Grosso modo, quanto maior for a população
presente, maior ela será no futuro. Logo, o modelo para o crescimento populacional é dado pela
equação diferencial
dP
= kP
dt
em que K é uma constante de proporcionalidade e, como esperamos que a população cresça,
devemos ter dP/dt > 0, e assim k > 0. Considerando P (0) = P0 , temos a seguinte equação
dP 1
diferencial = kP , pelo método de separação de variáveis, dP = kdt, aplicando a integral
dt P
em ambos os lados,
Z Z
1
dP = kdt + c
P
ln|P | = kt + c
eln|P | = ekt+c
P (t) = ekt+c

Como P (0) = P0 , então P (0) = ek0+c = ec , temos ec = P0 , substituindo ec em P (t) = ekt+c ,

P (t) = P0 ekt

Portanto a solução do modelo de crescimento populacional é P (t) = P0 ekt quando P (0) = P0 .


13

2.6 SISTEMA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS

Queremos resolver um sistema de equações diferenciais ordinárias em que t é a variável


independente e x1 , x2 , ..., xn variáveis dependentes, representado da seguinte forma:



 x01 (t) = a11 x1 (t) + a12 x2 (t) + ... + a1n xn (t)
 x0 (t) = a x (t) + a x (t) + ... + a x (t)

2 21 1 22 2 2n n
(2.2)


 ...
 x0 (t) = a x (t) + a x (t) + ... + a x (t)

n n1 1 n2 2 nn n

em que aij são reais e xi são funções deriváveis. Podemos escrever o sistema na forma matricial:
    
x01 (t) a11 a12 ... a1n x1 (t)
 0    
 x2 (t)   a21 a22 ... a2n   x2 (t) 
 ...  =  ... ... (2.3)
    
   ... ... 

 ... 

0
xn (t) an1 an2 ... ann xn (t)
O sistema (1.3) pode ser escrito da seguinte forma:

X 0 (t) = AX(t)

Exemplo 2.3. Temos o seguinte sistema de EDO de 1a ordem:


(
x0 (t) = −3x + 2y
(2.4)
y 0 (t) = −3x + 4y
separando os termos,
! ! !
x0 (t) −3 2 x(t)
= (2.5)
y 0 (t) −3 4 y(t)
sendo !
−3 2
A= (2.6)
−3 4
e determinante(A − λI) = 0, logo
!
−3 − λ 2
(A − λI) = =0 (2.7)
−3 4−λ

Assim encontramos que λ1 = 3 e λ2 = -2. Portanto, encontramos as seguintes soluções


para x(t) e y(t)
c2 e−2t
x(t) = c1 e3t + c2 e−2t e y(t) = 3c1 e3t +
2
14

3 MÉTODOS NUMÉRICOS

Neste capítulo está descrito o método de Runge-Kutta de 4a Ordem e algumas definições,


teoremas e exemplos sobre Equilíbrio e Estabilidade. Tendo embasamento no artigo (STERZA;
BRANDI, 2016) e nos livros (ARENALES; DAREZZO, 2008)e (ANGEL, et al., 2007).

3.1 MÉTODO DE RUNGE-KUTTA DE 4a ORDEM

O método de Runge-Kutta de 4a ordem é um dos métodos mais utilizados para encontrar


soluções aproximadas de valor incial. Cada método de Runge-Kutta consiste em comparar um
polinômio de Taylor para eliminar o cálculo das derivadas, sendo necessária várias avaliações da
função a cada passo.
O método de Runge-Kutta pode ser entendido como um aperfeiçoamento do método
de Euler, com uma melhor estimativa da derivada da função (VALLE, 2012, apud STERZA;
BRANDI, 2016, p. 3).
De modo geral o método de Runge-Kutta é dado por

yn+1 = yn + h(inclinação)
onde a inclinação é obtida através do cálculo da inclinação em vários pontos no interior do
subintervalo. O número de pontos usados em um subintervalo determinará a ordem do método,
ou seja, o método de Runge-Kutta de 2a Ordem utiliza a inclinação em dois pontos, o método
de Runge-Kutta de 3a Ordem utiliza a inclinação em três pontos e o método de Runge-Kutta de
4a ordem utiliza a inclinação em quatro pontos, e assim por diante. Desta forma, temos que o
método de Runge-Kutta de ordem 4 é dado por:

yn+1 = yn + h(c1 k1 + c2 k2 + c3 k3 + c4 k4 )

em que

c1 + c2 + c3 + c4 = 1
k1 = f (xn , yn )
k2 = f (xn + ha2 , yn + h(b21 K1 ))
k3 = f (xn + ha3 , yn + h(b31 K1 + b32 k2 ))
k4 = f (xn + ha4 , yn + h(b41 K1 + b42 k2 + b43 k3 ))
a2 = b21
a3 = b31 + b32
a4 = b41 + b42 + b43

Para determinar os parâmetros c1 , c2 , c3 , c4 , a1 , a2 , a3 , a4 , b21 , b31 , b32 , b41 , b42 , b43 , pode-
mos desenvolver k2 , k3 e k4 por Taylor, em torno do ponto (xn , yn ) até ordem 4, de modo a
expressar o método na seguinte forma:
15

yn+1 = yn + (...)h + (...)h2 + (...)h3 + (...)h4 + Oh5

e, então, igualar os coeficientes de h, h2 , h3 e h4 com o método de Taylor de ordem 4, o que


nos leva a um sistema não linear com 13 incógnitas (os parâmetros anteriores). Uma solução
particular para o sistema não linear é dada por:

1 2 2 1
c1 = , c2 = , c3 = , c4 =
6 6 6 6
1 1
a2 = , b21 =
2 2
1 1
a3 = , b32 =
2 2
a4 = 1, b41 = 0, b42 = 0, b43 = 1

o que nos fornece o seguinte método:


h
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 )
6
k1 = f (xn , yn )
h h
k2 = f (xn + , yn + k1 )
2 2
h h
k3 = f (xn + , yn + k2 )
2 2
k4 = f (xn + h, yn + hk3 )

conhecido como método de Runge-Kutta de ordem 4.

3.2 ANÁLISE DE ESTABILIDADE DOS PONTOS DE EQUILÍBRIO

Um equilíbrio x é dito estável se para todo  > 0, existe δ > 0 tal que, |x0 − x| < δ, a
solução, x(t, x0 ) obedece |x(t, x0 ) − x| <  para todo t ≥ t0 , caso contrário, x é chamado de
instável.
x é assintoticamente estável se for estável e limx→∞ |x(t, x0 ) − x| = 0 se |x0 − x| < δ.

Para determinar se um ponto de equilíbrio é estável ou não, podemos usar o seguinte


teorema.

Teorema 3.1. Suponhamos que f ∈ C 1 e x é um ponto de equlíbrio. Então x é assintoticamente


estável se f’(x) < 0 e instável se f’(x) > 0.

Seja y = x − x e y 0 = x0 onde x é constante.


dx dy dy
Considere = f (x) ⇔ = f (x + y) = f (x) + f 0 (x)y = f 0 (x)y ⇒ = f 0 (x)dt,
dt dt y
temos que o equilíbrio de f (x) = x ⇔ equilíbrio de f (x + y) = 0 ⇒ equilíbrio de f 0 (x)y
16

dy 0 dy dx
portanto = f 0 (x)y ⇒ y(t) = Aef (x)t como = = f (x) se fizermos x = y + x temos
dt 0
dt dt
que o equilíbrio de f (x + y) é também de f (x)y.

Exemplo 3.1. Seja a equação de Verhulst

dy
= ay(K − y)
dt
os pontos de quilíbrio são y = 0 ou y = K ⇒ f (x) = ayK − ay 2 , onde a e K são positivos
logo temos que:
f 0 (y) = aK − 2ay = 0 e f 0 (0) = aK > 0 logo, y = 0 é um ponto instável e para
f 0 (K) = aK − 2aK = −aK < 0 assim, y = K é assintoticamente estável.
17

4 MODELOS MATEMÁTICOS APLICADOS A BIOLOGIA

Neste capítulo estão definidos os modelos competição e saturação de crescimento tumoral


(logístico). Para a compreensão dos mesmos, no primeiro tópico estão descritos os principais
conceitos biológicos e posteriormente a descrição dos modelos. Aqui foi utilizado como texto-
base o livro Biologia do Câncer e quimioterapia antineoplásica (RODRIGUES, 2011).

4.1 PRINCIPAIS DEFINIÇÕES

• Câncer: caracterizado por crescimento celular descontrolado, cuja causa está relacionada
ao genótipo do indivíduo e/ou ao meio.

• Tumor: aumento de volume dos tecidos que pode ou não ser provocado por uma prolifera-
ção neoplásica verdadeira.

• Tumor benigno: tumor no qual as células mutantes permanecem contidas dentro de um


único local, com uma fronteira de células normais bem definida.

• Tumor maligno: nesse tipo de tumor, as células mutantes se misturam com as células
normais. Este tipo constitui o câncer.

• Angiogênese tumoral: processo de neovascularização no qual as células tumorais estimu-


lam a formação de novos vasos sanguíneos.

4.2 MODELO LOGÍSTICO

As células tumorais competem entre si por recursos vitais e oxigênio. E segundo (RODRI-
GUES, 2011) Verhulst e Lokta propuseram um modelo de dinâmica populacional que contempla
tal interação, dado por
 
dN N
= rN 1− (4.1)
dt K
 
N
em que K > 0 é a capacidade suporte da população tumoral e 1 − representa a competição
K
intraespecífica. A solução de (4.1) é dada por

K
N (t) =   (4.2)
K
1+ − 1 e−rt
N0
em que limt→+∞ N (t) = K, indicando saturação de crescimento.

4.3 MODELO EM COMPETIÇÃO

O modelo em competição foi proposto por Gatenby, que basea-se na competição de


células normais e células tumorais estando estas modeladas como populações competidoras
18

pelo espaço e outros recursos vitais. Segundo (RODRIGUES, 2011) a heterogeneidade de


células tumorais e os tipos de células normais no tecido normal são simplificados supondo uma
dominância normal N2 e uma população tumoral N1 existentes em um dado tempo. Então,
 
dN1 K1 − N1 − α12 N2


 = r1 N1
 dt

 K1
(4.3)
 
dN2 K2 − N2 − α21 N1




 = r2 N2
dt K2
no sistema (4.3) temos que N1 é a população de células tumorais, N2 a população de células
normais da qual o tumor se origina, r a taxa de crescimento para cada população, ki a capacidade
suporte, α21 o coeficiente de competição medindo os efeitos em N2 causados pela presença de
células tumorais N1 , α12 o coeficiente de competição medindo os efeitos em N1 causados pela
presença de N2 .
De acordo com (RODRIGUES, 2011) a interação da população tumoral com as células
hospedeiras pode resultar em três estados constantes estáveis não triviais:

i) Extinção da população original.

ii) Equilíbrio estável em que células transformadas coexistem com células normais.

iii) Extinção da população invasora.

Existem três fases do crescimento do tumor, a primeira ocorre imediatamente depois do


início da transformação do clone e determina se o sistema retornará para seu estado constante
em que N2 = k2 e N1 = 0, isto é, determina a sobrevivência do clone tumoral. Segundo (??) se o
clone persistir, o sistema moverá para um dos dois estados constantes novos:

1. Tumor coexiste com o tecido normal, o que corresponde ao crescimento não agressivo do
tumor que pode arbitrariamente ser classificado como benigno (se uma grande população
normal persistir) ou câncer “potencialmente maligno” (se somente uma pequena população
normal persistir).

2. O tumor destrói inteiramente a população normal correspondendo ao câncer agressivo,


altamente maligno.

Vamos analisar somente a Fase 1, podemos modelá-la reescrevendo as equações (4.3)


com o dado que N2 é aproximadamente k2 e N1 é muito pequeno, ou seja
 
dN1 N1 α12


 = r1 N1 1 − − N2
 dt

 k1 k1
(4.4)
 
dN2 N2 α21


= r2 N2 1 − −


 N1
dt k2 k2
19

N1 N2
Temos então que se N1 é pequeno e N2 próximo a k2 , então k1
≈0e k2
≈ 1, ficando as
equações da seguinte forma
  
dN1 α12


 dt
= r1 N1 1 − k1
N2
(4.5)
  
dN2
= r2 N2 − αk21


dt 2
N1

dN1 dN2
A pequena população de células tumorais evoluirá somente se >0e 60
dt dt
para N1 pequeno e N2 próximo de k2 , o que significa que a população tumoral apresentará um
crescimento e a população normal diminuirá ou se manterá constante.
Para analisarmos a estabilidade do sistema, deve ser encontrado os pontos de equilíbrio
das equações. Pois, através destes pontos poderemos inferir o comportamento das células normais
e tumorais em diversas situações. Para encontrá-los, igualamos as equações a zero. Então,
 
dN1 N1 α12
= 0 =⇒ r1 N1 1 − − N2 =0
dt k1 k1
 
dN2 N2 α21
= 0 =⇒ r2 N2 1 − − N1 =0
dt k2 k2
As soluções são

• N1 = 0, N2 = 0

• N1 = 0, N2 = k2

• N1 = k1 , N2 = 0

−k2 + α21 k1


 N2 =


 −1 + α21 α12

−k1 + α12 k2



N1 =

−1 + α21 α12

Do último item, segue que

−k2 + α21 k1 k2
N2 = = 0 =⇒ α21 k1 = k2 =⇒ k1 =
−1 + α21 α12 α21
e
−k1 + α21 k2 k1
N1 = = 0 =⇒ α12 k2 = k1 =⇒ k2 =
−1 + α21 α12 α12
20

5 LINGUAGEM COMPUTACIONAL PYTHON

5.1 ALGUNS ASPECTOS SOBRE A HISTÓRIA DO PYTHON

A linguagem computacional python surgiu em 1989 e é utilizada com maior recorrência


por programadores. O python é uma linguagem de programação de alto padrão, criada pelo
holandês Guido Van Rossum sob o ideal de "Programação de computadores para todos".
O python teve desenvolvimento inicial no instituto de pesquisa em Amsterdam chamado
CWI, uma sigla holandesa para uma frase que se traduz em português como Centro para
Matemática e Ciência da Computação. Este instituto era um local financiado pelo departamento
de Educação e outros fundos de pesquisa. Em todas as épocas, encontrava-se no instituto
estudantes de doutorado e veteranos.
A criação do python se deu através da necessidade de uma linguagem de alto nível em
um projeto chamado Amoeba. Segundo (ROSSUM, 2009), havia necessidade de uma linguagem
que "preencheria o vazio entre C e o shell". Por um tempo longo, esse foi o principal lema de
Python.
Rossum, liberou o python somente em 20 de fevereiro de 1991. Essa versão foi numerada
como 0.9.0 e liberada sob uma licença que era quase uma cópia exata da licença MIT usada pelo
projeto X11 na época 3 (ROSSUM, 2009).

5.2 BIBLIOTECAS NUMPY E MATPLOTLIB

A disponibilidade de diversas bibliotecas e pacotes tornam propício tal uso da linguagem.


Através de uma das inúmeras distribuições do Python, chamada Anaconda, é possível obter
bibliotecas e pacotes que disponibilizam funções e operações. Dentre as diversas bibliotecas que
a Anaconda dispõe, temos a numpy (biblioteca numérica) e matplotlib (biblioteca para plotagem
e visualização de dados).
A biblioteca numpy é utilizada principalmente na realização de operações com matrizes,
ou seja, ela pode ser considerada como a base para a computação numérica no python e tem como
intuito permitir que o python seja usado na resolução de problemas matemáticos e científicos.
Matlplotlib é uma biblioteca que auxilia na plotagem de gráfico, como suas legendas,
grades e que nos permite criar gráficos, histogramas e outras figuras. Podemos personalizar de
acordo com nossas necessidades e quando usado o IPython, matplotlib tem recursos interativos,
como zoom e visão panorâmica. Segundo (MATOS, 2015) o matplotlib possui suporte em todos
os sistemas operacionais e também pode exportar gráficos para vetor comum e formatos gráficos:
pdf, svg, jpg, png, bmp, gif, etc.
3
Tradução pelo Google
21

5.3 IMPORTÂNCIA DO PYTHON PARA A OBTENÇÃO DAS SOLUÇÕES NUMÉRICAS

Devido as potencialidades desta linguagem, matemáticos buscam utilizar esta ferramenta


computacional como forma de obter soluções numéricas de equações diferenciais. Pelo fato de
não ser explorado durante a graduação nos cursos de matemática, algumas dificuldades podem
surgir no primeiro contato com a interface do programa. Mas, segundo (LABAKI, 2003) uma
das facilidades encontradas é que o python é uma linguagem altamente modular. Isso significa
que provavelmente alguém ja fez todo ou parte do programa que você precisa desenvolver,
economizando um tempo precioso do seu trabalho.
Desta forma, pode-se utilizar de um código criado, para verificar se os modelos mate-
máticos são de fato modelos que descrevem tais fenômenos, ou seja, que apresentam soluções
aproximadas da realidade, assim como facilitar a criação de novos programas a partir dos que já
foram criados. E é bastante viável a utilização do ambiente computacional python para simu-
lar diversos fenômenos modelados matematicamente, tendo em vista que a maioria apresenta
dificuldades quanto a sua solução analítica e, utilizando um ambiente computacional diversas
simulações podem ser feitas, com o intuito de melhor entender o problema.
22

6 DISCRETIZAÇÃO DOS MODELOS BIOLÓGICOS

Neste capítulo, veremos as soluções numéricas dos modelos estudados no capítulo 3


obtidas a partir da implementação na linguagem computacional python via método de Runge-
Kutta de 4a Ordem, tendo como auxílio, o código criado por Juan Klopper (KLOPPER, 2014).

6.1 MODELO LOGÍSTICO

O Modelo Logístico ou saturação de crescimento tumoral é dado pela seguinte Equação


Diferencial Ordinária
 
dN N
= rN 1− (6.1)
dt K
 
N
em que K > 0 é a capacidade suporte da população tumoral e 1 − representa a competição
K
intraespecífica. Quando resolvido o modelo pelo método de separação de variáveis, obtemos

K
N (t) =   (6.2)
K
1+ − 1 e−rt
N0
Assim a solução para a EDO (6.1) é a função (6.2), que ao calcularmos o limite quando t
tender ao ∞, a função irá ficar bem próxima da sua capacidade suporte, ou seja se aproximará
do valor de K.
A implementação da equação (6.1) no python, foi realizada no sistema operacional
Windows 10 com o programa python 3.5 com a utilização das bibliotecas numpy para a plotagem
da solução numérica e matplotlib para a construção do gráfico. No modelo foram utilizados os
seguintes valores para as variáveis: o tempo (t) variando entre 0 e 1500 dias, a taxa intríseca (r)
de 0.01, o número inicial de células tumorais (N) de 4 ∗ 109 e a capacidade suporte (K) de 1012 .
É importante ressaltar que a EDO foi adequada ao Método de Runge-Kutta de 4a Ordem:
h
Ni+1 = Ni + (m1 + 2m2 + 2m3 + m4 ) (6.3)
6
e devido ao fato de estarmos implementando em um programa que trabalha com números
discretos, haverá um erro, ou seja uma diferença entre a solução real e a solução aproximada.
Inicialmente na interface do programa, importamos as bibliotecas necessárias e depois as
variáveis e seus respectivos valores.

import numpy as np
import matplotlib.pyplot as plt

arquivo = open(’arq1.txt’, ’w’)

r = 0.01
23

N = 4000000000 # Valor inicial da população


K = 1000000000000 # Capacidade Suporte
t = 0
h = 1.0

O arquivo de texto criado serve para plotagem de gráficos e para que fique armazenado
os valores da quantidade de células em cada tempo determinado, e o termo ’w’ é um tipo de
acesso, definido como escrita, apagando (truncando) o conteúdo existente no arquivo. A cada
modificação no código, o arquivo é apagado e gerado novamente com os novos dados (devido a
grande quantidade de números existentes neste arquivo texto, ficou inviável sua apresentação
neste trabalho).
Definidas as variáveis, utilizaremos a estrutura de repetição While, onde solicitamos que
enquanto t for menor que 1500, deve calcular o número de células, neste momento definimos N
como a função pelo método de RK 4a Ordem.

while t < 1500:


arquivo.write("%s \t %s \n" % (str(t), str(N)))

# Runge-Kutta 1a Ordem:
m1 = r * N * (1 - N / K)

# Runge-Kutta 2a Ordem:
ft2 = t + (h / 2)
fx2 = N + (h / 2) * m1
m2 = r * fx2 * (1 - fx2 / K)

# Runge-Kutta 3a Ordem:
ft3 = t + (h / 2)
fx3 = N + (h / 2) * m2
m3 = r * fx3 * (1 - fx3 / K)

# Runge-Kutta 4a Ordem:
ft4 = t + h
fx4 = N + h * m3
m4 = r * fx4 * (1 - fx4 / K)

t = t + h
N = N + (h / 6) * (m1 + 2 * m2 + 2 * m3 + m4)

Para ser realizada a plotagem do gráfico, devemos definir a legenda do mesmo, assim
24

como a legenda dos eixos x e y, utilizando plt.xlabel para a legenda do eixo x e plt.ylabel para
o eixo y. Realizado estes passos, para a plotagem deve ser digitado o comando plt.show(), o
comando plt.grid() é apenas para apresentar as grades no gráfico. E devemos finalizar o arquivo
de texto com o comando arquivo.close().

plt.xlabel(’t(em dias)’)
plt.ylabel(’Quantidade de células’)
plt.title(’Saturação de crescimento tumoral’)
plt.plot(t, N, ’b.’, markeredgewidth=0.1)

plt.grid()
plt.show()

arquivo.close()

Figura 1 – Plotagem do gráfico do Modelo Logístico: Método de Runge-Kutta de 4a Ordem

Fonte: Python3.5 (2019).

Plotando o gráfico da solução numérica, observamos que o número de células tumorais


está tendendo ao valor da capacidade suporte definida inicialmente na interface do programa. Na
plotagem do gráfico é possível notar que está exatamente sobre este valor, mas a solução obtida
numericamente chega muito próximo deste valor, não sendo portanto igual.
Vamos analisar na tabela abaixo o erro do método no modelo logístico, sendo este
determinado pela diferença entre o valor exato e o valor aproximado (obtido numericamente).
Tendo em vista que são 1500 valores, vamos simplificar a análise do erro observando até o
instante 5.
25

Quadro 1 – Análise de Erro: Modelo Logístico


Instantes Valor Exato Valor Aproximado Erro
0 4000000000 4000000000 0
1 4040038256.0986711 4040038256.0954123 0.0032588
2 4080475635.8038641 4080475635.7972817 0.0065824
3 4121316084.7715199 4121316084.761549 0.0099709
4 4162563586.9991110 4162563586.985685 0.013426
5 4204222165.1848265 4204222165.167878 0.0169485
Fonte: Acervo do autor (2019).

6.2 MODELO EM COMPETIÇÃO

O modelo é baseado na competição de células normais e células tumorais estando estas


modeladas como populações competidoras pelo espaço e outros recursos em algum volume do
tecido dentro de um órgão. Nesta análise, a heterogeneidade de células tumorais e os tipos de
células normais no tecido normal são simplificadas supondo uma dominância normal N2 e uma
população tumoral N1 existentes em um dado tempo. Então (??)
 
dN1 K1 − N1 − α12 N2


 = r1 N1
 dt

 K1
(6.4)
 
dN2 K2 − N2 − α21 N1




 = r2 N2
dt K2
Neste sistema de equações diferenciais ordinárias não conseguimos obter sua solução
analítica como no modelo anterior. Desta forma, iremos analisar as interações que ocorrem entre
as células normais e tumorais.
Considerando que a quantidade de células tumorais seja pequena e quantidade de células
N1 N2
normais aproximadamente igual a sua capacidade suporte, então ≈0e ≈ 1. Desta forma
k1 k2
dN1 dN2
a população de células tumorais evoluirá somente se >0e 6 0 (??).
dt dt
Verificando esta situação no python pelo método de Runge-Kutta de 4a Ordem, temos

import numpy as np
import matplotlib.pyplot as plt

# Constantes do sistema
r1 = 2.2 # Taxa de crescimento tumoral
r2 = 1.1 # Taxa de crescimento das células normais
L1 = 60 # Capacidade suporte das células tumorais
L2 = 10 # Capacidade suporte das células normais
p12 = 0.005 # Coeficiente de competição medindo os efeitos em P
causados pela presença de Q
26

p21 = 0.1 # Coeficiente de competição medindo os efeitos em Q


causados pela presença de P
t = 0 # Tempo inicial
P = 5 # Número inicial de células tumorais
Q = 8 # Número inicial de células normais
h = 1.0 # Passo

while t < 40:


# Runge-Kutta 1a Ordem:
m1 = r1 * P - (r1 * P ** 2 + r1 * p12 * P * Q) / L1
k1 = r2 * Q - (r2 * Q ** 2 + r2 * p21 * Q * P) / L2

# Runge-Kutta 2a Ordem:
ft2 = t + (h / 2)
fx2 = P + (h / 2) * m1
fy2 = Q + (h / 2) * k1
m2 = r1 * fx2 - (r1 * fx2 ** 2 + r1 * p12 * fx2 * fy2) / L1
gt2 = t + (h / 2)
gx2 = P + (h / 2) * m1
gy2 = Q + (h / 2) * k1
k2 = r2 * gy2 - (r2 * gy2 ** 2 + r2 * p21 * gy2 * gx2) / L2

# Runge-Kutta 3a Ordem:
ft3 = t + (h / 2)
fx3 = P + (h / 2) * m2
fy3 = Q + (h / 2) * k2
m3 = r1 * fx3 - (r1 * fx3 ** 2 + r1 * p12 * fx3 * fy3) / L1
gt3 = t + (h / 2)
gx3 = P + (h / 2) * m2
gy3 = Q + (h / 2) * k2
k3 = r2 * gy3 - (r2 * gy3 ** 2 + r2 * p21 * gy3 * gx3) / L2

# Runge-Kutta 4a Ordem:
ft4 = t + h
fx4 = P + h * m3
fy4 = Q + h * k3
m4 = r1 * fx4 - (r1 * fx4 ** 2 + r1 * p12 * fx4 * fy4) / L1
gt4 = t + h
gx4 = P + h * m3
gy4 = Q + h * k3
27

k4 = r2 * gy4 - (r2 * gy4 ** 2 + r2 * p21 * gy4 * gx4) / L2

t = t + h
P = P + (h / 6) * (m1 + 2 * m2 + 2 * m3 + m4)
Q = Q + (h / 6) * (k1 + 2 * k2 + 2 * k3 + k4)
print(t, ’\t’, ’\t’, P, ’\t’, Q)
plt.xlabel(’t(em dias)’)
plt.ylabel(’Quantidade de células’)
plt.plot(t, P, ’b.’, markeredgewidth=1.0)
plt.plot(t, Q, ’m.’, markeredgewidth=1.0)
plt.legend([’Células tumorais’, ’Células normais’], loc=2)

plt.grid()
plt.show()

Assim como no modelo com saturação de crescimento tumoral a implementação do


sistema de EDO (6.4) no python, foi realizada no sistema operacional Windows 10 com o pro-
grama python 3.5 com a utilização das bibliotecas numpy para a plotagem da solução numérica
e matplotlib para a construção do gráfico a seguir.

Figura 2 – Plotagem do gráfico do Sistema de EDO: Método de Runge-Kutta de 4a Ordem

Fonte: Python3.5 (2019).


28

Quadro 2 – Solução Numérica do Sistema em Competição


t (tempo) P (No de células tumorais) Q (No de células normais)
0 5 8
1 26.22422739090142 8.259394792839748
2 51.99269365237606 6.799138332467087
3 56.97965743849497 5.523497557293194
4 58.72881512065069 4.886446222760101
5 59.451082637510616 4.537944003611362
6 59.75612387459634 4.3346392843049735
7 59.885174557906204 4.211404702322073
8 59.93975925467842 4.134964975584644
9 59.96286279263284 4.086878723045805
10 59.97265988316225 4.056363485443412
11 59.97682781762403 4.036892325160451
12 59.97860990668469 4.024425089172904
13 59.979377638230176 4.016424846266297
14 59.97971204612607 4.01128388351529
15 59.979860017565166 4.007977340386038
16 59.97992693239591 4.005849434872615
17 59.97995807475103 4.004479532906636
18 59.97997309794819 4.0035974112895785
19 59.979980653842254 4.00302930097636
20 59.97998462764875 4.002663387269458
21 59.97998681119315 4.002427691674759
22 59.9799880593193 4.002275867330421
23 59.97998879660433 4.002178066541097
24 59.979989243448266 4.002115065119183
25 59.979989519464425 4.002074480370863
26 59.97998969228731 4.002048335996435
27 59.97998980151964 4.002031493925017
28 59.979989871002616 4.0020206443196695
29 59.97998991539105 4.002013655028435
30 59.97998994382918 4.002009152537779
31 59.97998996208295 4.002006252038148
32 59.979989973814206 4.002004383538552
33 59.97998998135976 4.0020031798522195
34 59.97998998621566 4.00200240443805
35 59.97998998934175 4.002001904916547
36 59.97998999135469 4.002001583124967
37 59.97998999265108 4.002001375826931
38 59.97998999348604 4.002001242285597
39 59.97998999402387 4.002001156258307
40 59.97998999437029 4.002001100839549
Fonte: Acervo do autor (2019).
29

Desta forma, com a visualização do gráfico e a tabela 2 podemos notar que como
dN1 dN2
admitimos que > 0e 6 0, a população tumoral cresceu, e a população normal
dt dt
inicialmente diminuíu e depois se estabilizou.
Tendo em vista os pontos de equilíbrio do sistema (6.4) descrito no Capítulo 4, vamos
analisar se os mesmos são estáveis ou instáveis de acordo com o Terorema 3.1.

dN1 dN2 r1 N1 r1 N2 α12


Sejam f (N1 ) = e g(N2 ) = , temos que f 0 (N1 ) = r1 − − e
dt dt k1 k1
r2 N2 r2 N1 α21
g 0 (N2 ) = r2 − − .
k2 k2

Os pontos de equilíbrio são

• N1 = 0 e N2 = 0

• N1 = 0 e N2 = k2

• N1 = k1 e N2 = 0

−k2 + α21 k1


 N2 =


 −1 + α21 α12

−k1 + α12 k2



N1 =

−1 + α21 α12

Quando N1 = 0 e N2 = 0 e condiderando os valores atribuídos na implementação


temos que f 0 > 0 e g 0 > 0 portanto os pontos de equilíbrio de acordo com o teorema 3.1 são
assintoticamente instáveis.
Para N1 = 0 e N2 = k2 , temos que f 0 > 0 e g 0 = 0, nada podemos afirmar quando é
igual a zero, mas quanto a f , temos que este ponto é assintoticamente instável. Para os pontos
de equilíbrio N1 = k1 e N2 = 0, temos f 0 = 0 e g 0 < 0, portanto g é assintoticamente estável
nesses pontos.
−k2 + α21 k1 −k1 + α12 k2
Analisando agora N2 = e N1 = , temos f 0 < 0 e g 0 = 0, em
−1 + α21 α12 −1 + α21 α12
que f é um ponto assintoticamente estável e quanto a g nada podemos afirmar.
30

7 CONCLUSÃO

O método numérico utilizado neste trabalho, pôde evidenciar o quanto é eficaz sua
utilização em EDO’s e Sistemas de EDO’s. Pois vimos que no primeiro modelo, o qual apresentou-
se sua solução analítica, houve uma pequena diferença entre a solução aproximada e a solução
exata, e que esta diferença ocorre devido a mudança que é feita, modificando algo contínuo em
algo discreto. No sistema de EDO podemos notar que a reresentação gráfica foi de encontro com
o que havia sido dito na teoria, ou seja, o método de Runge-Kutta também se aproximou da sua
solução exata.
Vale ressaltar a importância de se utilizar uma ambiente computacional, pois sem o
mesmo, encontrar soluções de Equações diferenciais que não possuem soluções analíticas, ou
que sua solução seja extensa, dificultaria analisar sua aplicabilidade em situações reais.
31

REFERÊNCIAS

ANGEL, D. Y. T.; KOGA, M. T.; MACUFA, M. M. M. Relatório final. Disciplina: MT 624


- Biomatemática I Prof. Dr. Laécio Carvalho de Barros. Campinas - SP, 2007. Disponível em:
<https://www.ime.unicamp.br/ laeciocb/notas%20de%20aula_mt624%20(1).pdf>. Acesso em:
11 abr. 2019.
ARENALES, S.; DAREZZO, A. Cálculo numérico: aprendizagem com apoio de software. São
Paulo: Cengage Learning, 2008.
BASSANEZI, R. C.; FERREIRA, W. C. J. Equações diferenciais: com aplicações. São Paulo:
Harbra, 1988.
BOYCE, W. E.; DIPRIMA, R. C. Equações diferenciais elementares e problemas de valores
de contorno. Rio de Janeiro: Guanabara Dois, 1985.
CUNHA, M. C. C. Métodos numéricos. São Paulo: Editora da UNICAMP, 2003.
KLOPPER, J. B15 Solving a system of first order ODEs with RK4 using python, 2014. Dis-
ponível em: <https://www.youtube.com/watch?v=cQSQCv0XBx8>. Acesso em: 11 jul. 2019.
LABAKI, J. Introdução python - módulo a. Grupo Python, UNESP-Ilha Solteira, 2003. Dis-
ponível em: <https://dcc.ufrj.br/ fabiom/mab225/pythonbasico.pdf>. Acesso em: 11 jul. 2019.
MATOS, D. Usando python em data science, 2015. Disponível em: <http://www.cienciaedados.
com/usando-python-em-data-science/>. Acesso em: 18 jun. 2019.
MINHÓS, F. M. B. Equações diferenciais ordinárias 2009. Disponível em: <http://home.uevora.
pt/ fminhos/Monografias/Relat%F3rio% jun. 20de%20Unidade%20Curricular%20EDO.pdf>.
Acesso em: 19 abr. 2019.
OLIVEIRA, O.R.B. Teoremas de existência e unicidade para edo’s. 2017. Disponível em:
<https://www.ime.usp.br/ oliveira/ELE-PICARD.pdf>. Acesso em: 30 abr. 2019.
RODRIGUES, D.S. Modelagem matemática em câncer: dinâmica angiogênica e quimiotera-
pia anti-neoplásica. Dissertação (Mestrado em Biometria) - Instituto de Biociências de Botucatu,
Universidade Estadual Paulista, São Paulo, 2011.
ROSSUM, G.V. A história do python - história pessoal - parte 1, CWL. 2009. Disponível
em:<http://python-history.blogspot.com/2009/01/personal-history-part-1-cwi.html> Acesso em:
30 abr. 2019.
SOUSA, N. et al. Métodos de diferenças finitas: conceitos e interpretações. Dissertação (Mes-
trado Profissional) - Instituto de Matemática, Estatística e Computação Científica, São Paulo,
2009.
STERZA, R. L.; BRANDI, A. C. Comparação entre métodos numéricos: runge-kutta de quarta
ordem e previsor-corretor. Revista Eletrônica Paulista de Matemática, São Paulo, v. 7, 2016.
32

ZILL, D. G. Equações diferenciais com aplicações em modelagem. São Paulo: Cengage


Learning Editores, 2003.

Você também pode gostar