• Nenhum resultado encontrado

Segundo Exercício Programa MAP3121 Para Engenharias de Produção, Petróleo, Ambiental e Naval Entrega: até 22 de Junho de 2017

N/A
N/A
Protected

Academic year: 2021

Share "Segundo Exercício Programa MAP3121 Para Engenharias de Produção, Petróleo, Ambiental e Naval Entrega: até 22 de Junho de 2017"

Copied!
8
0
0

Texto

(1)

Modelos de Competi¸c˜

ao e Preda¸c˜

ao

Segundo Exerc´ıcio Programa MAP3121

Para Engenharias de Produ¸c˜

ao, Petr´

oleo, Ambiental e Naval

Entrega: at´

e 22 de Junho de 2017

1

Introdu¸

ao

Nesta segunda tarefa vamos considerar a modelagem de competi¸c˜ao entre diferentes esp´ecies. Para o crescimento e sobrevivˆencia das esp´ecies s˜ao necess´arios recursos naturais dos quais elas dependem e se alimentam. Quando diferentes esp´ecies convivem e se nutrem de mesmos recursos, elas naturalmente estar˜ao competindo por estes, que normalmente s˜ao limitados. Essa competi¸c˜ao pode at´e vir a causar a extin¸c˜ao de uma das popula¸c˜oes competidoras, ou pelo menos afetar significativamente sua dinˆamica populacional. No meio ambiente podem tamb´em existir esp´ecies que se nutrem de outras. Estas s˜ao esp´ecies predadoras e suas v´ıtimas s˜ao as suas presas. Estes modelos de competi¸c˜ao encontram aplica¸c˜oes em diversas ´areas. Por exemplo, podemos ver empresas e fornecedores como esp´ecies, que se nutrem de clientes que demandam seus produtos. As empresas competem pelos clientes. Em agricultura, a existˆencia de pragas que atacam planta¸c˜oes ´e de grande importˆancia. Os efeitos podem ser modelados atrav´es da convivˆencia entre presas e predadores. Uma das ´areas em que tais modelos tˆem ampla aplica¸c˜ao ´e em meio Ambiente e Ecologia1.

O modelo log´ıstico

Vamos inicialmente considerar uma esp´ecie isolada, vivendo em ambiente que lhe fornece os recursos naturais de que necessita. O modelo exponencial de crescimento, uma primeira aproxima¸c˜ao normalmente utilizada, n˜ao ´e muito realista, pois pressup˜oe que uma popula¸c˜ao se multiplique indefinidamente `a mesma taxa, independentemente dos recursos naturais dispon´ıveis. O modelo log´ıstico, leva em considera¸c˜ao a limita¸c˜ao de recursos naturais, considerando uma taxa de crescimento que ir´a depender de como a popula¸c˜ao evolui. O crescimento ´e modelado pela equa¸c˜ao:

x0(t) = λx(t)(1 − x(t) M ) ,

onde M ´e um valor positivo de satura¸c˜ao da popula¸c˜ao. Se x(t) ´e pequeno ent˜ao x0(t) ≈ λx(t), ou seja o crescimento ´e aproximadamente exponencial. Conforme o valor de x(t) se aproxima de M a velocidade de crescimento diminui, com a popula¸c˜ao tendendo a um valor de equil´ıbrio. Para esta equa¸c˜ao, ´e poss´ıvel encontrar uma forma anal´ıtica para a solu¸c˜ao, dada por

x(t) = M

1 + (Mx

0 − 1)e

−λt ,

onde x0´e o tamanho inicial da popula¸c˜ao em t = 0. Verifique que x(t) ´e solu¸c˜ao da equa¸c˜ao diferencial,

que sua derivada ´e m´axima quando x(t) = M/2 e que o tamanho da popula¸c˜ao tende ao valor de equil´ıbrio M com o passar do tempo.

Competi¸

ao entre duas esp´

ecies

Sejam duas esp´ecies N1 e N2, as quais apresentam crescimento log´ıstico na ausˆencia da outra.

Vamos agora modelar o fato de que elas competem pelos recursos naturais. Ou seja, a presen¸ca de elementos de uma esp´ecie causa um decr´escimo na taxa de crescimento da outra. Para parametrizar esse

(2)

efeito, introduzimos um par de coeficientes de competi¸c˜ao α12 e α21, que descrevem o efeito da esp´ecie

2 sobre a esp´ecie 1 e da esp´ecie 1 sobre a esp´ecie 2, respectivamente. Assim teremos o sistema dN1(t) dt = λ1N1(t)  1 − N1(t) M1  − α12N1(t)N2(t) dN2(t) dt = λ2N2(t)  1 − N2(t) M2  − α21N1(t)N2(t)

onde M1 e M2 s˜ao os valores de satura¸c˜ao das popula¸c˜oes das respectivas esp´ecies e os coeficientes de

competi¸c˜ao s˜ao valores positivos.

O modelo tem um ponto de equil´ıbrio quando ambas as popula¸c˜oes se estabilizam. Isso ocorre quando N1= N2= 0, ou seja na ausˆencia das duas esp´ecies, ou quando simultaneamente N1= M1(1 − αλ12

1)N2

e N2 = M2(1 − αλ21

2 )N1. Cada uma destas equa¸c˜oes define uma reta no plano N1,N2. Caso elas se

interceptem no primeiro quadrante (ou seja, onde as popula¸c˜oes s˜ao positivas e o modelo faz sentido) existir´a um ponto de equil´ıbrio al´em da origem. Procure avaliar em que situa¸c˜oes (em fun¸c˜ao dos parˆametros α e λ) este equil´ıbrio ´e est´avel ou n˜ao. Al´em destes haver´a mais um ponto de equil´ıbrio em cada eixo, correspondendo a situa¸c˜oes em que uma das esp´ecies n˜ao est´a presente e a outra atingiu o valor de satura¸c˜ao. Procure determinar em fun¸c˜ao dos parˆametros α e λ quando as duas esp´ecies ir˜ao sobreviver, e quando uma delas tende `a extin¸c˜ao.

Modelo Presa-Predador

Vamos considerar agora um ambiente em que convivam duas esp´ecies, uma que se alimenta dos recursos naturais (digamos, uma popula¸c˜ao de coelhos) e uma segunda esp´ecie que se nutre basicamente da primeira esp´ecie (digamos, uma turma de raposas que se alimenta dos coelhos). O cl´assico modelo presa-predador, conhecido como modelo de Lotka-Volterra, considera recursos ilimitados, ou seja, na ausˆencia do predador, a popula¸c˜ao de suas presas apresentaria crescimento exponencial.

As equa¸c˜oes s˜ao dadas por:

x0(t) = λx(t) − αx(t)y(t) y0(t) = βx(t)y(t) − γy(t)

onde x(t) representa os coelhos e y(t) as raposas, e os parˆametros aparecendo nas equa¸c˜oes s˜ao todos constantes e positivos.

Neste caso, se inicialmente houver membros das duas esp´ecies no ambiente, o tamanho das respectivas popula¸c˜oes ir´a variar periodicamente no tempo. Isto significa que o retrato de fase ser´a composto por ´

orbitas peri´odicas, como ilustrado na figura abaixo.

(3)

Quando inserimos nas equa¸c˜oes a limita¸c˜ao de recursos naturais, na ausˆencia de raposas, os coelhos ter˜ao crescimento dado pela equa¸c˜ao log´ıstica. Observe que, como antes, na ausˆencia de coelhos as raposas vir˜ao a morrer de fome. O modelo ´e dado pelas equa¸c˜oes:

x0(t) = λx(t)(1 − x(t)/M ) − αx(t)y(t) y0(t) = βx(t)y(t) − γy(t)

onde os parˆametros s˜ao positivos e M ´e o valor de satura¸c˜ao da popula¸c˜ao de coelhos. Neste modelo j´a n˜ao teremos ´orbitas peri´odicas. Procure analisar a equa¸c˜ao e encontrar quais s˜ao as situa¸c˜oes de equil´ıbrio (onde as popula¸c˜oes ir˜ao se estabilizar, com ambas as derivadas nulas). Veja que mais informa¸c˜oes vocˆe consegue obter s´o de analisar os sinais das derivadas em fun¸c˜ao do tamanho das popula¸c˜oes.

Esse modelo pode ser expandido para uma competi¸c˜ao entre v´arias esp´ecies ou para a situa¸c˜ao de coexistˆencia de um predador que atinge mais de uma esp´ecie de presas, mas sua aplica¸c˜ao n˜ao se limita apenas a esse tipo de competi¸c˜ao de popula¸c˜oes. Alguns estudos utilizam uma vers˜ao adaptada desse modelo para an´alise de mercado, por exemplo, para estudar a concorrˆencia entre dois produtos ou a concorrˆencia de duas empresas de telefonia, entre outros.

O modelo 2 presas - 1 predador

Vamos considerar agora que mais uma esp´ecie conviva com os coelhos e as raposas, digamos uma po-pula¸c˜ao de lebres que tamb´em se alimente apenas dos recursos naturais. Ou seja, coelhos e lebres estar˜ao competindo pelos mesmos recursos. Por outro lado, as raposas poder˜ao se alimentar tanto de coelhos como de lebres. A equa¸c˜ao do modelo pode ser posta na forma:

x0(t) = x(t)(B1− A1,1x(t) − A1,2y(t) − A1,3z(t))

y0(t) = y(t)(B2− A2,1x(t) − A2,2y(t) − A2,3z(t))

z0(t) = z(t)(B3− A3,1x(t) − A3,2y(t))

onde x(t) representa os coelhos, y(t) as lebres e z(t) as raposas. Nesta forma os coeficientes Bi e Ai,j

s˜ao positivos para i = 1 e i = 2, enquanto para i = 3 s˜ao negativos.

Note que o modelo acima engloba todos os modelos j´a apresentados. Na ausˆencia de raposas, temos um modelo de competi¸c˜ao entre lebres e coelhos. Na ausˆencia de lebres ou coelhos, temos o modelo presa-predador visto na se¸c˜ao anterior. Tanto as lebres como as raposas experimentam crescimento do tipo log´ıstico na ausˆencia das outras esp´ecies. Procure interpretar o papel de cada termo nas equa¸c˜oes. Veremos que a dinˆamica deste modelo pode ser bastante complexa.

2

Sua Tarefa

Vamos considerar os seguintes parˆametros para o modelo com duas presas e um predador.

B =   1 1 −1  , A =   0.0010 0.0010 0.0150 0.0015 0.0010 0.0010 −α −0.0005 0.0000   com 0.001 ≤ α ≤ 0.0055.

Com esta escolha de parˆametros temos que os coelhos ir˜ao levar vantagem sobre as lebres quando h´a poucas raposas. No entanto, as raposas se nutrem melhor de coelhos que de lebres ... O objetivo desse exerc´ıcio computacional ´e estudar esse modelo de competi¸c˜ao fazendo varia¸c˜oes nos parˆametros do modelo. Para tanto vocˆe ir´a usar o m´etodo de Runge-Kutta Fehlberg, descrito nas pr´oximas se¸c˜oes.

• Analise o comportamento do retrato de fase do modelo com rela¸c˜ao ao parˆametro α, escolhendo os valores 0.001, 0.002, 0.0033, 0.0036, 0.005 e 0.0055. Inicie com 500 coelhos, 500 lebres e 10 raposas. Nos dois primeiros casos, use tf = 100, nos dois seguintes tf = 500 e nos dois ´ultimos tf = 2000.

(4)

• Para cada caso vocˆe deve fazer gr´aficos do retrato de fase (ou seja um gr´afico cujos eixos s˜ao o n´umero de coelhos, lebres e raposas e cada ponto do gr´afico se refere a um instante de tempo da integra¸c˜ao). Para melhor visualiza¸c˜ao, plote tamb´em gr´aficos 2D (coelhos x lebres, coelhos x raposas, lebres x raposas). Fa¸ca tamb´em um gr´afico mostrando simultaneamente o tamanho de cada popula¸c˜ao ao longo do tempo.

• Teste a sensibilidade em rela¸c˜ao aos valores iniciais quando α = 0.005, executando o modelo at´e tf = 400 iniciando com 37 coelhos,75 lebres e 137 raposas. Imprima o n´umero de raposas, lebres e

coelhos no instante final. Repita o mesmo experimento, trocando apenas o n´umero inicial de lebres de 75 para 74. Compare os valores finais e a evolu¸c˜ao das trˆes popula¸c˜oes nos dois casos.

• Seu relat´orio deve conter primeiramente os testes solicitados ao final da descri¸c˜ao do m´etodo num´erico a ser empregado. Depois apresente as an´alises e gr´aficos solicitados, discutindo os re-sultados obtidos. Vocˆe pode tamb´em acrescentar as an´alises sobre o modelo de competi¸c˜ao e presa-predador.

• O exerc´ıcio deve ser feito em Python 3.x (o mesmo usado nos cursos de MAC, veja mais detalhes em https://panda.ime.usp.br/panda/python). O programa deve ser devidamente comentado e bem estruturado.

• O exerc´ıcio deve ser feito em duplas, sempre com um colega da mesma Engenharia, n˜ao necessari-amente da mesma turma.

• Apenas um aluno da dupla, o primeiro em ordem alfab´etica, deve entregar o exerc´ıcio, destacando no relat´orio e no programa o nome de ambos os alunos.

• A entrega deve conter o relat´orio (em .pdf), contendo a an´alise do problema estudado, e o c´odigo usado para as simula¸c˜oes computacionais (arquivos .py). A entrega deve ser feita em um arquivo compactado ´unico.

3

O M´

etodo de Runge-Kutta Fehlberg

Introdu¸

ao

Vamos aqui apresentar o m´etodo de Runge-Kutta Fehlberg, para solu¸c˜ao de (sistemas de) equa¸c˜oes diferenciais ordin´arias de primeira ordem, a partir dos valores iniciais das solu¸c˜oes. Em uma equa¸c˜ao diferencial (ou sistema de equa¸c˜oes) procura-se determinar uma fun¸c˜ao X(t) satisfazendo uma rela¸c˜ao do tipo:

X0(t) = F (t, X(t)) com X(t0) = X0 (1)

No caso geral X(t) ´e uma fun¸c˜ao definida em algum intervalo real, tomando valores em Rm (ou seja,

X(t) = (X1(t), X2(t), ..., Xm(t)), onde cada Xi(t) ´e uma fun¸c˜ao real). A fun¸c˜ao F (t, X(t)) ´e definida

em Rm+1 e assume valores em Rm. Caso F seja s´o uma fun¸ao de X ∈ Rm (ou seja, n˜ao dependendo

explicitamente de t) temos um sistema autˆonomo.

O m´etodo que apresentaremos a seguir ´e uma varia¸c˜ao do m´etodo cl´assico de Runge-Kutta de quarta ordem, de forma a incorporar uma t´ecnica de controle do passo temporal visando atingir uma dada precis˜ao. Assim, em regi˜oes onde a solu¸c˜ao apresenta varia¸c˜oes r´apidas (com fortes gradientes), faz-se necess´ario o uso de um espa¸camento temporal menor, de forma a conseguir uma boa aproxima¸c˜ao para a solu¸c˜ao, enquanto que em regi˜oes em que a solu¸c˜ao varia suavemente, podem ser usados espa¸camentos maiores, levando a um m´etodo computacionalmente mais eficiente.

Preliminares

Apresentamos aqui brevemente o M´etodo de Euler, que em breve ser´a apresentado em sala de aula no curso. O descrevemos aqui, apenas para facilitar sua compreens˜ao de outros m´etodos.

Considerando o polinˆomio de Taylor da fun¸c˜ao x(t) obtemos: x(t + h) = x(t) + x0(t)h + x00(˜t)h2/2

onde ˜t se encontra entre t e t + h. Desta express˜ao temos: x(t + h) − x(t)

h = x

(5)

Se agora impusermos que x(t) ´e solu¸c˜ao da equa¸c˜ao diferencial (1) obtemos que: x(t + h) − x(t)

h = f (t, x(t)) + x

00t)h/2

O m´etodo de Euler ir´a empregar a aproxima¸c˜ao x(t + h) − x(t)

h = f (t, x(t))

sendo o erro cometido proporcional a h. Partindo do instante inicial t0, onde conhecemos o valor inicial

x0da solu¸c˜ao, calcularemos sucessivamente as aproxima¸c˜oes

xi+1= xi+ hf (ti, xi)

onde ti = t0+ ih, e xi ´e a aproxima¸c˜ao de x(ti). Calculamos a solu¸c˜ao at´e um instante final tf em

n passos, onde nh = tf − t0. Por exemplo, na equa¸c˜ao x0(t) = x(t) com x(0) = 1, temos a sequˆencia

xi+1= xi+ hxi= (1 + h)xi. Se tomamos tf = 1 e h = 1/n obtemos a aproxima¸c˜ao para o valor de x(1):

xn = (1 + h)xn−1= (1 + h)nx0= (1 + 1/n)n.

Sabemos que a solu¸c˜ao da equa¸c˜ao ´e x(t) = et e portanto x(1) = e. Vocˆes j´a viram em c´alculo que

limn→∞(1 + 1/n)n = e. Assim, a aproxima¸c˜ao obtida pelo m´etodo de Euler para o valor da solu¸c˜ao no

instante 1 converge para o valor exato se fizermos o espa¸camento h = 1/n entre dois instantes consecutivos tender a zero. Resumindo, se desejamos aproximar a solu¸c˜ao da equa¸c˜ao diferencial (1) no intervalo de tempo [t0, tf], subdividimos este intervalo em n partes de comprimento h = (tf− t0)/n e aproximamos

a solu¸c˜ao em cada instante ti= t0+ ih, i = 0, ..., n, a partir de seu valor inicial x0, computando:

xi+1= xi+ hf (ti, xi), i = 0, ..., n − 1.

O m´etodo de Euler ´e bastante simples e f´acil de implementar, por´em apresenta uma convergˆencia lenta, com o erro da ordem de h. H´a m´etodos para solu¸c˜ao de equa¸c˜oes diferenciais que convergem muito mais rapidamente. Um m´etodo cl´assico, muito utilizado, ´e o m´etodo de Runge-Kutta de quarta ordem (com erro da ordem de h4). Neste m´etodo cada passo no tempo ´e calculado da seguinte forma

(com a mesma nota¸c˜ao usada no m´etodo de Euler), em 4 est´agios:

xi+1 = xi+ (k1+ 2k2+ 2k3+ k4)/6, onde

k1 = hf (ti, xi)

k2 = hf (ti+ 0.5h, xi+ 0.5k1)

k3 = hf (ti+ 0.5h, xi+ 0.5k2)

k4 = hf (ti+ h, xi+ k3)

Veja que cada passo no tempo requer 4 avalia¸c˜oes da fun¸c˜ao f , uma em cada est´agio. Vocˆe encontra no livro texto do curso (e ver´a tamb´em em sala de aula) uma descri¸c˜ao mais detalhada sobre m´etodos de Runge-Kutta, incluindo uma dedu¸c˜ao de um m´etodo de ordem 2. A deriva¸c˜ao do m´etodo acima ´e obtida de maneira an´aloga, sendo por´em muito mais trabalhosa (e normalmente omitida nos livros did´aticos).

Uma t´

ecnica de controle do passo h

Tanto o m´etodo de Euler como o m´etodo cl´assico de Runge-Kutta fazem uso de um espa¸camento h, pelo qual se incrementa o valor de t a cada passo, sendo que a precis˜ao atingida ir´a depender deste valor de h. Iremos agora descrever como variar o valor de h durante uma integra¸c˜ao, de forma a obter-se uma dada precis˜ao de forma eficiente. A t´ecnica que veremos, baseia-se no uso de dois m´etodos de passo simples com ordens de convergˆencia p e p + 1.

Consideremos dois m´etodos de ordem p e p + 1 que a partir do valor de xi gerem a aproxima¸c˜ao para

x(ti+1) respectivamente como:

xi+1= xi+ hΦ(ti, xi, h) e

˜

(6)

Se x(t) ´e a solu¸c˜ao da equa¸c˜ao diferencial, o erro local de truncamento dos m´etodos ´e dado por: τi+1(h) = x(ti+1) − x(ti) h − Φ(ti, x(ti), h) = O(h p) e ˜ τi+1(h) = x(ti+1) − x(ti) h − ˜Φ(ti, x(ti), h) = O(h p+1) .

Assumindo que a aproxima¸c˜ao xi no instante ti seja praticamente igual `a solu¸c˜ao x(ti) obtemos

τi+1(h) = x(ti+1) − xi− hΦ(ti, xi, h) h = x(ti+1) − xi+1 h e analogamente que ˜ τi+1(h) = x(ti+1) − ˜xi+1 h . Assim, τi+1(h) = x(ti+1) − ˜xi+1 h + ˜ xi+1− xi+1 h = ˜τi+1(h) + ˜ xi+1− xi+1 h .

Desprezando o erro local de truncamento ˜τi+1(h) por ser de ordem mais alta, obtemos a aproxima¸c˜ao

para o erro local de truncamento para o m´etodo de ordem p dada por τi+1(h) ≈

˜

xi+1− xi+1

h .

Atrav´es desta express˜ao podemos estimar o erro local de truncamento e verificar se este se encontra dentro da ordem de precis˜ao desejada. Al´em disso podemos verificar se o espa¸camento h pode ser aumentado ou necessita ser reduzido. Para tanto usamos que τi+1(h) ≈ Khp e estimamos o erro local de truncamento

que ter´ıamos se us´assemos um novo espa¸camento ˜h = αh: τi+1(αh) ≈ K(αh)p ≈ αpτi+1(h) ≈ αp

˜

xi+1− xi+1

h .

Se desejamos que a norma do erro de truncamento ||τi+1(αh)|| seja menor que  devemos ter

α ≤

 h

c||˜xi+1− xi+1||

1/p

onde c > 1 ´e um fator de seguran¸ca e empregamos a norma do m´aximo.

O M´

etodo RKF45

Agora estamos em condi¸c˜ao de apresentar o m´etodo de Runge-Kutta Fehlberg, que combina m´etodos de quarta e quinta ordem para o controle do passo. M´etodos expl´ıcitos de Runge-Kutta de quinta ordem requerem no m´ınimo 6 est´agios, enquanto que se consegue m´etodos de quarta ordem com 4 est´agios (como ´e o caso do m´etodo cl´assico visto em se¸c˜ao anterior). Assim, para aplicarmos os m´etodos de quarta e quinta ordem para gerarmos as novas aproxima¸c˜oes a partir de xi teremos potencialmente que

avaliar at´e 10 est´agios, a menos que os m´etodos compartilhem alguns destes. Este ´e exatamente o caso do m´etodo de Fehlberg, em que o c´alculo dos dois m´etodos ir´a requerer apenas 6 est´agios, uma vez que o m´etodo de quarta ordem a ser utilizado compartilha dos mesmos est´agios requeridos no m´etodo de sexta ordem. Descrevemos abaixo os seis est´agios requeridos pelos m´etodos:

k1 = hF (ti, xi) k2 = hF (ti+ h/4, xi+ 1 4 k1) k3 = hF (ti+ 3h/8, xi+ 3 32 k1+ 9 32 k2) k4 = hF (ti+ 12h/13, xi+ 1932 2197 k1− 7200 2197 k2+ 7296 2197 k3) k5 = hF (ti+ h, xi+ 439 216 k1− 8 k2+ 3680 513 k3− 845 4104 k4) k6 = hF (ti+ h/2, xi− 8 27 k1+ 2 k2− 3544 2565 k3+ 1859 4104 k4− 11 40 k5)

(7)

O m´etodo de quarta ordem ´e dado por xi+1 = xi+ 25 216 k1+ 1408 2565 k3+ 2197 4104 k4− 1 5 k5 enquanto que o de ordem 5 ´e obtido como

˜ xi+1= xi+ 16 135 k1+ 6656 12825 k3+ 28561 56430 k4− 9 50 k5+ 2 55 k6 .

O m´etodo ent˜ao funciona da seguinte forma: a partir do valor inicial x0e de um h inicial, calcula-se as

aproxima¸c˜oes xi+1 e ˜xi+1 dadas respectivamente pelos esquemas de quarta e quinta ordem. Em fun¸c˜ao

destes dois valores e de h estima-se o erro local de truncamento τi+1(h) como descrito na se¸c˜ao anterior.

Caso este valor seja menor que  o valor de xi+1´e aceito como nova aproxima¸c˜ao no instante ti+1 = ti+ h

e atualiza-se o valor de h para αh (ou seja, multiplica-se h por α), onde α ´e calculado como descrito ao final da se¸c˜ao anterior, empregando um fator de seguran¸ca c = 2. No caso de τi+1(h) ser maior que

 o valor de xi+1 ´e rejeitado, com h sendo atualizado da mesma forma, ap´os o que se refaz os c´alculos

das aproxima¸c˜oes xi+1 e ˜xi+1. Uma vez que xi+1 tenha sido aceito procede-se ao c´alculo da solu¸c˜ao no

pr´oximo passo, usando-se o mesmo procedimento. A integra¸c˜ao termina ao atingir-se o instante final desejado. Para garantir que se chegue exatamente no instante final tf - sem ultrapass´a-lo - pode-se

limitar o valor de h a cada passo pelo tanto que falta para tf, fazendo com que h seja no m´aximo igual a

tf − ti. Al´em disso, ´e conveniente que h n˜ao seja escolhido nem grande, nem pequeno demais. Ou seja,

adicionalmente impomos que hmin≤ h ≤ hmax, onde hmin e hmax s˜ao dois parˆametros a ser escolhidos

pelo usu´ario (dependem das escalas temporais que temos). No seu programa utilize hmin = 0.001 e

hmax= 1.0.

Implementa¸

ao e alguns testes

Vocˆe deve implementar o m´etodo de Runge-Kutta Fehlberg (RKF45) descrito na se¸c˜ao anterior, empre-gando a t´ecnica de controle do passo. Sua implementa¸c˜ao deve contemplar o fato de que a fun¸c˜ao F (t, X) descrevendo a equa¸c˜ao diferencial possa assumir valores em Rm, onde m ser´a uma vari´avel. Os testes e

o problema que vocˆe resolver´a depois na aplica¸c˜ao do m´etodo envolver˜ao diferentes valores da dimens˜ao n. Uma forma de vocˆe escrever a fun¸c˜ao de maneira razoavelmente geral ´e passar como argumentos o valor de m (que ser´a usado no dimensionamento do vetor X) e uma vari´avel caso. Dependendo do valor de caso, calcule ent˜ao a fun¸c˜ao espec´ıfica requerida em cada teste e / ou aplica¸c˜ao.

Teste 1 - considere a equa¸c˜ao diferencial com F : R2 → R dada por F (t, x) = 1 + (x − t)2. Integre-a

a partir do valor inicial x(1.05) = −18.95 at´e o tempo final tf = 3 pelo m´etodo RKF45 com  = 10−5.

Use para iniciar h = 0.1. A cada passo imprima o valor de h empregado e o valor da solu¸c˜ao. Imprima tamb´em o erro em rela¸c˜ao `a solu¸c˜ao exata desta equa¸c˜ao dada por x(t) = t + 1/(1 − t).

Teste 2 - considere a equa¸c˜ao diferencial autˆonoma com F (t, X) = AX, com X ∈ R4, onde

A =     −2 −1 −1 −2 1 −2 2 −1 −1 −2 −2 −1 2 −1 1 −2    

Integre-a a partir de X(0) = (1, 1, 1, −1) at´e tf = 2, usando h = 0.1 inicialmente e  = 10−5. A cada

passo imprima o valor de h, ti e ||Xi− ¯X(ti)||, com a norma do m´aximo. A solu¸c˜ao exata desta equa¸c˜ao

´ e ¯ X(t) =     e−tsin t + e−3tcos 3t e−tcos t + e−3tsin 3t

−e−tsin t + e−3tcos 3t

−e−tcos t + e−3tsin 3t

  

Teste 3 - Considere o sistema autˆonomo com F (t, X) = AX, com X ∈ Rm, onde A ´e uma matriz

tridiagonal m × m, tal que Ai,i = −2, i = 1, .., m, Ai,i+1 = Ai+1,i = 1, i = 1, .., m − 1 e Ai,j = 0

nas posi¸c˜oes restantes. Este exemplo permite que vocˆe teste seu c´odigo para valores diversos de m. Use como condi¸c˜ao inicial o vetor X(0) com componentes X(0)i = sin(πyi) + sin(mπyi), onde yi =

i/(m + 1), para i = 1, ..., m. A solu¸c˜ao exata deste sistema ´e dada pelo vetor X(t) cujas componentes s˜ao: X(t)i = e−λ1tsin(πyi) + e−λ2tsin(mπyi), i = 1, ..., m, com λ1 = 2(1 − cos(π/(m + 1))) e λ2 =

(8)

2(1 − cos(mπ/(m + 1))). Vocˆe deve executar este teste com m = 7, usando h = 0.1 inicialmente e  = 10−5. A cada passo imprima o valor de h, ti e ||Xi− X(ti)||, comparando sua solu¸c˜ao com a solu¸c˜ao

Referências

Documentos relacionados

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

A Psicologia, por sua vez, seguiu sua trajetória também modificando sua visão de homem e fugindo do paradigma da ciência clássica. Ampliou sua atuação para além da

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Na apresentação dos dados estatísticos, ficou demonstrada à todos os participantes a dimensão da pesquisa, abrangendo o setor produtivo como um todo, enfocando a produção

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)

Esta disse~ aborda as relayoes entre o choro e o repert6rio pianistico brasileiro, atraves de um enfoque analitico sobre aspectos hist6ricos e musicais referentes tanto ao