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-1913.25)}} 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 nos dá a função de crescimento populacional
P(t)=\frac{157273000}{1+e^{-0{,}0313(t-1913{,}25)}},
onde t é o ano. O que se pede: “Plote um gráfico que mostre o crescimento populacional de 1900 a 2100”. Informações relevantes dadas pelo enunciado:
  • A função explícita \;P(t)=\dfrac{157273000}{1+e^{-0{,}0313(t-1913{,}25)}}\;.
  • O intervalo temporal para o gráfico: de t=1900 até t=2100.
  • Dica de Octave: a função exponencial é exp() e para divisão elemento a elemento use ./.

Passo 2

Entendendo a função (mini-aula rápida e prática).
A expressão é uma função logística do tipo geral
P(t)=\frac{K}{1+e^{-r(t-t_0)}},
onde:
  • K é a capacidade de suporte (o valor-limite superior quando t\to\infty);
  • r é a taxa de crescimento (controla a inclinação da curva);
  • t_0 é o tempo do ponto médio / inflexão (quando a curva muda de côncava para convexa).
    No nosso caso:
  • K=157273000,
  • r=0{,}0313,
  • t_0=1913{,}25.
    Propriedades úteis ao visualizar o gráfico: quando t é muito pequeno, P(t) fica próximo de 0; quando t é muito grande, P(t) tende a K. A curva tem formato em “S”.

Passo 3

Escolhendo o vetor de anos t (resolução do gráfico).
  • Podemos usar um passo por ano: 1900:1:2100 (201 pontos).
  • Para um traço mais suave, usar passo menor, por exemplo 1900:0.1:2100 (4001 pontos).
  • Alternativa: linspace(1900,2100,1001) para um número fixo de pontos.
    Explicação técnica: em Octave o operador start:step:end cria um vetor; usar um passo pequeno deixa a curva visualmente suave.

Passo 4

Como calcular P(t) no Octave (vetorização e operações elemento a elemento).
  • Em Octave, exp(x) calcula e^{x} elemento a elemento se x for vetor.
  • Se t for vetor, para multiplicar ou dividir cada elemento pelo mesmo escalar ou para aplicar operações elemento a elemento, usa-se .*, ./ e .^ quando necessário.
  • No nosso cálculo é seguro e recomendado usar:
    P = 157273000 ./ (1 + exp(-0.0313 .* (t - 1913.25)));
    Isto corresponde exatamente a
P(t)=\frac{157273000}{1+e^{-0{,}0313\,(t-1913{,}25)}}.
Observação: o uso de ./ garante que a divisão seja feita elemento a elemento entre o escalar 157273000 e cada elemento do denominador.

Passo 5

Comandos básicos para plotar e deixar o gráfico apresentável.
  • plot(t,P,'b-','LineWidth',2): plota a curva em azul com maior espessura.
  • xlabel(...) e ylabel(...): rotulam os eixos.
  • title(...): título do gráfico.
  • grid on: ativa grade para facilitar leitura.
  • xlim([1900 2100]): força os limites do eixo x para o intervalo pedido.
  • ylim([0 1.05*K]): opcional, deixa espaço acima da capacidade K.
  • hold on / hold off: permitem adicionar linhas extras (por exemplo a reta horizontal em y=K).
  • legend(...): cria legenda explicando curvas.

Passo 6

Um roteiro prático (passo-a-passo) para executar no Octave:
  1. Definir o vetor de anos t (por exemplo 1900:0.1:2100).
  2. Calcular P com a fórmula usando exp e ./ e .*.
  3. Fazer o plot e embelezar com rótulos, título, grade, limites e legenda.
  4. (Opcional) salvar figura com print -dpng 'populacao.png' ou similar.
    Dica prática: salve o código num arquivo plot_populacao.m e execute no Octave com plot_populacao.

Passo 7

Exemplo de código comentado (explicação das linhas). Este é o conteúdo que será executado no Octave:
  • Cria vetor de anos em passo 0.1.
  • Calcula P(t) usando vetorização.
  • Plota a curva e adiciona a capacidade K como linha tracejada vermelha.
  • Ajusta rótulos, título, grade e legenda.

Passo 8

Conselhos finais e interpretação rápida do que se verá no gráfico.
  • A curva deverá mostrar crescimento rápido em torno de épocas próximas a t_0=1913{,}25 e depois se aproximar de K=157273000.
  • Se quiser ver pontos históricos (por exemplo marcar um ano real), usar plot(ano,valor,'ro') após calcular P para esse ano.
  • Se o Octave reclamar de tamanhos, reduzir a resolução (usar passo 1).

Resposta

% plot_populacao.m -- plota P(t) de 1900 a 2100
t = 1900:0.1:2100;
K = 157273000;
r = 0.0313;
t0 = 1913.25;
P = K ./ (1 + exp(-r .* (t - t0)));

figure;
plot(t, P, 'b-', 'LineWidth', 2);
hold on;
plot([1900 2100], [K K], 'r--', 'LineWidth', 1); % linha de K
hold off;
xlabel('Ano');
ylabel('População');
title('Crescimento populacional do Brasil (1900–2100)');
legend('P(t)','Capacidade de suporte (K)', 'Location', 'southeast');
grid on;
xlim([1900 2100]);
ylim([0 1.05*K]);

Exercícios relacionados