Considerando que a expressão que modela o crescimento da população brasileira pode
ser escrita como P(t)=
\frac{157273000}{1 + e^{-0.0313(t-1950)}} onde t é dado em anos. Plote um gráfico que mostre o crescimento populacional de 1900 a 2100 (Dica: a função exponencial no Octave é \exp (). Para executar uma divisão elemento a elemento, dividindo o mesmo numerador por um vetor de denominadores, use o comando ./).

Passo 1

O enunciado pede para traçar (plotar) o gráfico da função que modela o crescimento populacional do Brasil no intervalo de anos de 1900 a 2100. A função dada é
P(t)=\frac{157273000}{1+e^{-0{,}0313\,(t-1950)}},
onde t está em anos. As informações relevantes que temos são:
  • A expressão explícita de P(t): \displaystyle P(t)=\frac{157273000}{1+e^{-0{,}0313\,(t-1950)}}.
  • O intervalo temporal para o gráfico: t\in[1900,2100].
  • A dica técnica: no Octave a exponencial é \exp() e a divisão elemento-a-elemento usa \texttt{./} (útil quando se divide um escalar por um vetor).

Passo 2

Entender rapidamente o que essa função é e o que os parâmetros significam (isso ajuda a escolher escalas e checar o resultado na hora da prova).
  • Essa é uma função logística (forma clássica):
    P(t)=\frac{K}{1+e^{-r\,(t-t_0)}},
    onde:
    • K é a capacidade de suporte (valor assintótico máximo); aqui K=157273000.
    • r é a taxa de crescimento; aqui r=0{,}0313.
    • t_0 é o ano do ponto médio (onde a população atinge K/2); aqui t_0=1950.
  • Verificações rápidas (úteis para conferir se o gráfico ficou correto):
    • Para t=1950 (ponto médio) temos e^{-r(t-1950)}=e^{0}=1, então P(1950)=\frac{157273000}{1+1}=\frac{157273000}{2}=78636500.
    • Para t=1900: -r(t-1950)=-0{,}0313\cdot(1900-1950)=1{,}565, \quad e^{1{,}565}\approx4{,}78,
P(1900)\approx\frac{157273000}{1+4{,}78}\approx27195000\\ (\text{aprox. }27{,}2\text{ milhões}).õ
  • Para t=2100: -r(t-1950)=-0{,}0313\cdot(2100-1950)=-4{,}695, \quad e^{-4{,}695}\approx0{,}0091,
P(2100)\approx\frac{157273000}{1+0{,}0091}\approx155880000\\ (\text{aprox. }155{,}9\text{ milhões}).õ
Essas contas dão uma ideia de escala: no começo do século XX a população modelo está na casa das dezenas de milhões, em 1950 vale metade de K, e em 2100 já está bem próxima de K.

Passo 3

Como construir o vetor de anos e calcular P(t) no Octave (lembre: Octave opera bem com vetores; use operação elemento-a-elemento).
  • Escolher resolução do eixo t: para um gráfico suave, pode-se usar passo anual ( 1 ano) ou passo menor (por exemplo 0{,}1 ano). Passo anual é suficiente aqui.
  • Em Octave cria-se um vetor linha de t assim: \texttt{t = 1900:2100;} (isso gera anos inteiros de 1900 a 2100).
  • Calcular P de forma vetorizada:
    • A expressão em Octave que replica a fórmula é (atenção aos operadores elemento-a-elemento): \texttt{P = 157273000 ./ (1 + exp(-0.0313 * (t - 1950))); }
    • Aqui \texttt{exp()} calcula exponenciais elemento-a-elemento e \texttt{./} divide o escalar pelo vetor de denominadores.

Passo 4

Como montar o gráfico de forma clara (rotular e ajustar aparência — útil para prova e apresentação).
  • Comandos úteis em Octave (explicando cada um):
    • \texttt{plot(t, P, '-','LineWidth',2)}: traça P versus t com linha contínua e largura maior.
    • \texttt{xlim([1900 2100])}: fixa o eixo x no intervalo pedido.
    • \texttt{ylim([0 1.05*157273000])}: assegura que o eixo y mostre até um pouco acima de K para visualização.
    • \texttt{xlabel('Ano')} e \texttt{ylabel('Populacao')}: rótulos dos eixos.
    • \texttt{title('Crescimento populacional (modelo logístico)')}í: título do gráfico.
    • \texttt{grid on}: liga grade para facilitar leitura.
    • \texttt{hold on} e \texttt{plot([1950 1950],[0 K/2],'--r')} se quiser marcar t_0 (opcional).
    • \texttt{print -dpng 'populacao_1900_2100.png'} salva a figura em arquivo PNG.

Passo 5

Código completo pronto para copiar/colar no Octave. Esse script gera o gráfico e faz as marcações/checagens que expliquei (ele também imprime valores de checagem para t=1900,1950,2100).

Resposta

% Script Octave para plotar P(t) de 1900 a 2100
t = 1900:2100;                                      % vetor de anos (passo 1 ano)
P = 157273000 ./ (1 + exp(-0.0313 * (t - 1950)));   % cálculo vetorizado de P(t)

figure;
plot(t, P, '-', 'LineWidth', 2);                    % traça a curva
xlim([1900 2100]);
ylim([0 1.05 * 157273000]);
xlabel('Ano');
ylabel('Populacao');
title('Crescimento populacional (modelo logístico)');
grid on;

% Marcação opcional do ano médio t0 = 1950 e valores de checagem
hold on;
plot([1950 1950], [0 157273000], '--r', 'LineWidth', 1);   % linha vertical em 1950
text(1952, 78636500, 't_0 = 1950 (P = K/2)', 'Color', 'r');

% Mostrar alguns valores de referência no console
P1900 = 157273000 / (1 + exp(-0.0313 * (1900 - 1950)));
P1950 = 157273000 / 2;
P2100 = 157273000 / (1 + exp(-0.0313 * (2100 - 1950)));
fprintf('P(1900) ≈ %d\n', round(P1900));
fprintf('P(1950) = %d\n', round(P1950));
fprintf('P(2100) ≈ %d\n', round(P2100));

% Salvar figura (opcional)
print -dpng 'populacao_1900_2100.png';

Exercícios relacionados