9- O modelo logístico é usado para simular a população por:
\frac{d p}{d t}=k_{g m}\left(1-\frac{p}{p_{\max }}\right) p
Em que p é a população, \mathrm{k}_{\mathrm{gm}} é a taxa de crescimento máxima sob condições ilimitadas e \mathrm{p}_{\text {max }} é a capacidade de suporte. Simule a população mundial de 1950 a 2000 usando um os três métodos estudados. Use as seguintes condições iniciais e valores de parâmetros para sua simulação: po (em 1950)=2,555 milhões de pessoas, \mathrm{k}_{\mathrm{gm}}=0,026 /ano, e \mathrm{p}_{\max }=12,000 milhões de pessoas. Faça a função gerar saídas correspondentes às datas para os seguintes dados populacionais medidos. Desenvolva um gráfico de sua simulação junto com os dados.
t 1950 1960 1970 1980 1990 2000
p 2,555 3,040 3,708 4,454 5,276 6,079

Passo 1

O enunciado pede que se faça uma simulação numérica, de 1950 a 2000, da equação logística
\frac{d p}{d t}=k_{gm}\!\left(1-\frac{p}{p_{\max}}\right)p,
usando os três métodos estudados, gerando saídas nas datas dos dados medidos e fazendo um gráfico comparando simulação e dados.
As informações fornecidas (pegar estes dados do enunciado) são:
  • Condição inicial: p(1950)=p_0=2,555 (milhões de pessoas).
  • Taxa: k_{gm}=0,026 /\text{ano}.
  • Capacidade de suporte: p_{\max}=12,000 (milhões).
  • Dados medidos (anos e populações, em milhões):
    • 1950: 2,555
    • 1960: 3,040
    • 1970: 3,708
    • 1980: 4,454
    • 1990: 5,276
    • 2000: 6,079
O que precisa ser entregue:
  • Simulação numérica por três métodos (vamos explicá-los).
  • Valores simulados nos anos 1950,1960,1970,1980,1990,2000.
  • Um gráfico (vou explicar como gerar; aqui mostro os números que você pode colocar no gráfico).

Passo 2

Breve explicação do modelo e do termo de taxa (para você entender o que estamos integrando):
A equação logística escrita como
\frac{dp}{dt}=f(p),\qquad f(p)=k_{gm}\!\left(1-\frac{p}{p_{\max}}\right)p
é uma ODE autônoma (a derivada depende só de p). Interpretação dos parâmetros:
  • p(t) é a população em milhões.
  • k_{gm} é a taxa de crescimento máximo em condições não-limitadas.
  • p_{\max} é a população de suporte (máximo assintótico).
Uma forma útil para calcular f(p) numericamente é usar a álgebra
f(p)=k_{gm}\left(p-\frac{p^{2}}{p_{\max}}\right),
ou seja, f(p)=k_{gm}\big(p - p^{2}/p_{\max}\big). Isso facilita cálculos manuais porque evita dividir duas vezes.
Também existe solução analítica fechada (útil como referência), que é
p(t)=\frac{p_{\max}}{1+A e^{-k_{gm} (t-t_0)}}, \qquad A=\frac{p_{\max}-p_0}{p_0},
mas aqui o objetivo é praticar os métodos numéricos, então usaremos métodos tradicionais de integração numérica.

Passo 3

Escolha dos métodos e do passo de tempo:
Decisão prática: o enunciado pede saídas exatamente nas datas 1950,1960,\dots,2000. Para isso vou usar passo de tempo \,h=10 anos (um passo por década). Isso facilita apresentar os valores nos anos pedidos e mantém a conta manejável à mão. Explico depois o efeito do h na precisão.
Os três métodos que vou usar (métodos comumente estudados):
  1. Euler explícito (método mais simples):
    p_{n+1}=p_n + h\,f(p_n).
    Aqui p_n é p no tempo t_n e h é o passo (aqui h=10 anos).
  2. Euler aperfeiçoado / Heun (método do trapezoide explícito, também chamado improved Euler):
    • Preditor: p^{\ast}=p_n + h\,f(p_n).
    • Corretor: p_{n+1}=p_n + \frac{h}{2}\big(f(p_n)+f(p^{\ast})\big).
  3. Runge–Kutta de 4ª ordem (RK4), método padrão de maior precisão:
    \begin{aligned} k_1&=f(p_n),\\\ k_2&=f\!\big(p_n+\tfrac{h}{2}k_1\big),\\\ k_3&=f\!\big(p_n+\tfrac{h}{2}k_2\big),\\\ k_4&=f\!\big(p_n+h k_3\big),\\\ p_{n+1}&=p_n+\frac{h}{6}(k_1+2k_2+2k_3+k_4). \end{aligned}
Justificativa: Euler é o mais simples (útil para ver comportamento), Heun corrige a tendência usando média de inclinações, e RK4 é bem mais preciso para o mesmo h. Como o enunciado não especificou “os três”, interpretei como os três métodos clássicos (Euler, Heun, RK4). Se for outro trio (por ex. Euler, RK2 (midpoint), RK4), o procedimento é análogo; os resultados mudam pouco qualitativamente: RK4 tende a ser o melhor.

Passo 4

Preparação numérica e convenções de cálculo:
  • Unidades: todas as populações são em milhões; as operações mantêm essa unidade.
  • Parâmetros numéricos: p_0=2,555, k_{gm}=0,026, p_{\max}=12,000, h=10.
  • Fórmula prática para f(p) (evita duas divisões): f(p)=k_{gm}\left(p-\frac{p^2}{p_{\max}}\right).Sempre que eu calcule f(p) faço: primeiro p^2, depois p^2/p_{\max}, depois p-(p^2/p_{\max}), depois multiplico por k_{gm}.
Vou agora iterar passo a passo de década em década. Em cada intervalo mostro os cálculos essenciais para cada método (valores arredondados com 5–6 dígitos para manter legibilidade).
Observação: os dados reais estão listados no Passo 1; vou sempre compará-los ao final.

Passo 5

Intervalo 1950 → 1960 (início p_0=2,555) — cálculo detalhado
Calcule f(p_0):
p_0-\frac{p_0^2}{p_{\max}} = 2,555 - \frac{2,555^2}{12,000} =2,555 - \frac{6,528,025}{12,000}\times10^{-3} \approx 2,0112979
f(p_0)=0,026\times 2,0112979 \approx 0,05229375\\ (\text{milhões/ano}).õ
Euler explícito:
p_{1}^{(E)}=2,555 + 10\times 0,05229375 = 3,0779375.
Heun (improved Euler):
  • Preditor: p^{\ast}=2,555+10\times0,05229375=3,0779375.
  • Calcular f(p^{\ast}): f(p^{\ast})\approx0,05949995.
  • Corretor: p_{1}^{(H)}=2,555 + 5\,(0,05229375+0,05949995)=3,1139685.
RK4:
  • k_1=f(p_0)=0,05229375.
  • k_2=f(2,555+5k_1)=f(2,81646875)\approx0,05604109.
  • k_3=f(2,555+5k_2)=f(2,83520545)\approx0,05628754.
  • k_4=f(2,555+10k_3)=f(3,11787537)\approx0,05997625.
  • Combinar: p_{1}^{(RK)}=2,555+\frac{10}{6}(k_1+2k_2+2k_3+k_4)\approx3,1165454.
Resumo dos valores em 1960 (arredondados):
  • Euler: p(1960)\approx 3,07794.
  • Heun: p(1960)\approx 3,11397.
  • RK4: p(1960)\approx 3,11655.
  • Dado real: 3,040.

Passo 6

Intervalo 1960 → 1970 (usar p_1 de cada método como ponto inicial)
Euler (inicial p_1^{(E)}=3,0779375):
  • f(p_1^{(E)})\approx0,05949995.
  • p_2^{(E)}=3,0779375 + 10\times0,05949995 \approx 3,6729370.
Heun (inicial p_1^{(H)}=3,1139685):
  • f(p_1^{(H)})\approx0,05995345.
  • Preditor p^{\ast}=3,1139685+10\times0,05995345\approx3,713503.
  • f(p^{\ast})\approx0,06684647.
  • p_2^{(H)}=3,1139685 + 5(0,05995345+0,06684647)\approx3,7479681.
RK4 (inicial p_1^{(RK)}=3,1165454):
  • Calculando k_1,k_2,k_3,k_4 com as fórmulas do RK4 (veja o mesmo procedimento do passo anterior),
    obtém-se p_2^{(RK)}\approx3,7526053.
Comparação em 1970:
  • Euler: p(1970)\approx 3,67294.
  • Heun: p(1970)\approx 3,74797.
  • RK4: p(1970)\approx 3,75261.
  • Dado real: 3,708.

Passo 7

Intervalo 1970 → 1980
Euler (inicial 3,6729370):
  • f\approx0,06626613.
  • p_3^{(E)}=3,6729370 + 10\times0,06626613 \approx 4,3355983.
Heun (inicial 3,7479681):
  • f\approx0,0670128.
  • Preditor p^{\ast}\approx 4,4180961 com f(p^{\ast})\approx0,07257809.
  • p_3^{(H)}\approx 4,4459226.
RK4 (inicial 3,7526053):
  • Aplicando RK4 obtemos p_3^{(RK)}\approx 4,4531806.
Comparação em 1980:
  • Euler: p(1980)\approx 4,33560.
  • Heun: p(1980)\approx 4,44592.
  • RK4: p(1980)\approx 4,45318.
  • Dado real: 4,454.

Passo 8

Intervalo 1980 → 1990
Euler (inicial 4,3355983):
  • f\approx0,07198363.
  • p_4^{(E)}=4,3355983 + 10\times0,07198363 \approx 5,0554343.
Heun (inicial 4,4459226):
  • f\approx0,072772.
  • Preditor p^{\ast}\approx 5,1736446 com f(p^{\ast})\approx0,0764956.
  • p_4^{(H)}\approx 5,1922606.
RK4 (inicial 4,4531806):
  • RK4 produz p_4^{(RK)}\approx 5,202758.
Comparação em 1990:
  • Euler: p(1990)\approx 5,05543.
  • Heun: p(1990)\approx 5,19226.
  • RK4: p(1990)\approx 5,20276.
  • Dado real: 5,276.

Passo 9

Intervalo 1990 → 2000
Euler (inicial 5,0554343):
  • f\approx0,0760436.
  • p_5^{(E)}=5,0554343 + 10\times0,0760436 \approx 5,8154700.
Heun (inicial 5,1922606):
  • f\approx0,0766628.
  • Preditor p^{\ast}\approx 5,9588886 com f(p^{\ast})\approx0,077969.
  • p_5^{(H)}\approx 5,9654246.
RK4 (inicial 5,202758):
  • RK4 produz p_5^{(RK)}\approx 5,978510.
Comparação em 2000:
  • Euler: p(2000)\approx 5,81547.
  • Heun: p(2000)\approx 5,96542.
  • RK4: p(2000)\approx 5,97851.
  • Dado real: 6,079.

Passo 10

Interpretação, erros e como fazer o gráfico
  • Observação geral: com passo h=10 anos (decadal) os métodos mais sofisticados (Heun, RK4) ficam bem próximos dos dados; RK4 é o mais preciso entre os três para esse h. Euler explícito tende a subestimar o crescimento tardio (ou superestimar dependendo do sinal do erro) e aqui ele fica mais distante dos dados na década final.
  • Se quiser melhorar a precisão sem trocar o método, diminua h (ex.: h=5 ou h=1 ano). RK4 com h=1 costuma ficar praticamente indistinguível da solução analítica para este problema.
  • Para gerar o gráfico (num software como Python/Matlab/Excel):
    • Calcule as séries p(t) para cada método nos anos 1950,1960,\dots,2000 (os valores que dei).
    • Plote no eixo x os anos e no eixo y a população (milhões).
    • Coloque os pontos dos dados medidos como marcadores (por ex. círculos) e as curvas das simulações como linhas contínuas com cores diferentes; adicione legenda.
  • Avaliação prática: RK4 com h=10 já aproxima muito bem os dados (erro de ordem decimais de 0,1–0,2 milhões em 2000); Heun é quase tão bom; Euler fica mais afastado. Em prova: se o enunciado pede apenas comparação rápida, é aceitável usar h=10 para obter os valores decadais; se pedirem precisão, justificar e usar h menor.

Resposta

Euler explícito (passo h=10 anos):
1950: 2,555
1960: 3,07794
1970: 3,67294
1980: 4,33560
1990: 5,05543
2000: 5,81547
Heun / Euler aperfeiçoado (passo h=10 anos):
1950: 2,555
1960: 3,11397
1970: 3,74797
1980: 4,44592
1990: 5,19226
2000: 5,96542
Runge–Kutta 4 (RK4, passo h=10 anos):
1950: 2,555
1960: 3,11655
1970: 3,75261
1980: 4,45318
1990: 5,20276
2000: 5,97851

Exercícios relacionados