Considere um intervalo de medição, dado por [-5: 0.1: 5] (-5 a 5 com passo de 0,1 em 0,1 ).
Gere em um mesmo gráfico a distribuição t student para os seguintes graus de liberdade: 1,3,10, 20, 50 e 100 (no Matlab a função t student é mapeada pela rotina tpdf (veja help tpdf));

Passo 1

O que o enunciado pede e o que nos foi dado.
  • Pede-se gerar, em um mesmo gráfico, as densidades de probabilidade da distribuição t de Student para os graus de liberdade 1,3,10,20,50,100.
  • O intervalo de x é dado por [-5:0{,}1:5] (ou seja, de -5 a 5 com passo 0{,}1). Vou usar exatamente esse vetor em MATLAB.
  • Foi indicado usar a rotina do MATLAB tpdf (que calcula a pdf da t de Student).
  • Objetivo prático: gerar uma figura com todas as curvas, legenda, rótulos de eixos e grade para facilitar a comparação visual.

Passo 2

O que é a função densidade da t de Student (fórmula) e interpretação rápida.
  • A pdf da t de Student com \nu graus de liberdade é dada por:
f_{\nu}(x)=\frac{\Gamma\!\left(\dfrac{\nu+1}{2}\right)}{\sqrt{\nu\pi}\,\Gamma\!\left(\dfrac{\nu}{2}\right)}\left(1+\frac{x^{2}}{\nu}\right)^{-\frac{\nu+1}{2}},
onde \Gamma(\cdot) é a função Gama e \nu é o número de graus de liberdade.
  • Interpretação prática e o que esperar no gráfico:
    • A distribuição é simétrica em torno de 0.
    • Para \nu pequeno (ex.: \nu=1) as caudas são muito pesadas (maior probabilidade em valores extremos) — \nu=1 é a distribuição de Cauchy.
    • À medida que \nu cresce, a t aproxima-se da normal padrão N(0,1): pico mais alto em 0 e caudas mais leves.
    • Esses comportamentos serão visíveis no gráfico: curvas para \nu baixos mais achatadas no centro e com caudas mais longas; para \nu grandes mais parecidas com a curva normal.

Passo 3

Construir o vetor de pontos x no MATLAB.
  • O enunciado dá o vetor diretamente como [-5:0{,}1:5]. Em MATLAB isso se escreve:
    • x = -5:0.1:5;
  • Explicação: esse comando cria um vetor linha com valores começando em -5, somando 0{,}1 a cada passo até chegar a 5. Dá para checar o tamanho com length(x).

Passo 4

Calcular as pdfs da t para cada grau de liberdade com tpdf.
  • Em MATLAB a função tpdf(x,nu) retorna os valores da pdf da t para cada elemento do vetor x e um valor escalar nu.
  • Vou organizar os graus de liberdade em um vetor:
    • nus = [1 3 10 20 50 100];
  • Para calcular todas as curvas, há duas opções práticas:
    1. Fazer um laço for que calcula y = tpdf(x, nu) para cada nu e guarda em uma matriz.
    2. Usar arrayfun/cellfun ou construção vetorizada. O laço é claro e didático.
  • Exemplo de laço (explicado no código final): para cada índice i, calcular Y(i,:) = tpdf(x, nus(i));. Assim cada linha de Y contém a pdf para um \nu diferente.

Passo 5

Escolher estilos de plotagem e elementos do gráfico (legenda, cores, rótulos).
  • É importante distinguir visualmente cada curva: usar cores diferentes e LineWidth maior ajuda.
  • Incluir legenda com cada \nu: por exemplo rótulos do tipo '\nu=1', '\nu=3', …
  • Recomendo também traçar a densidade da normal padrão N(0,1) como referência (com normpdf(x,0,1)), desenhada com traço -- (opcional, útil para comparação).
  • Colocar xlabel, ylabel, title, grid on e xlim([-5 5]) para ficar apresentável.

Passo 6

Observações práticas (toolboxes e alternativas).
  • tpdf e normpdf fazem parte do Statistics and Machine Learning Toolbox (ou em versões mais antigas do MATLAB do Statistics Toolbox). Se por algum motivo normpdf não estiver disponível, a normal padrão pode ser avaliada por:
\text{normpdf}(x,0,1)=\frac{1}{\sqrt{2\pi}}\exp\!\left(-\frac{x^{2}}{2}\right),
e então em MATLAB usar yNorm = (1/sqrt(2*pi))*exp(-x.^2/2);.
  • O código final abaixo usa tpdf e normpdf; se normpdf faltar, trocar conforme acima.

Passo 7

Dicas sobre interpretação do gráfico depois de obtido.
  • Ao olhar o gráfico:
    • A curva de \nu=1 (Cauchy) terá pico relativamente baixo e caudas bem largas.
    • Curvas de \nu=10,20,50,100 vão ficando cada vez mais parecidas entre si e com a normal padrão.
    • Para provas: comunicar que "à medida que \nu\to\infty a t de Student converge em distribuição para N(0,1)" e justificar visualmente usando o gráfico.

Resposta

% Script MATLAB para plotar densidades t de Student em [-5:0.1:5]
x = -5:0.1:5;
nus = [1 3 10 20 50 100];

% Pré-alocar matriz de resultados: cada linha corresponde a um nu
Y = zeros(numel(nus), numel(x));
for i = 1:numel(nus)
    Y(i,:) = tpdf(x, nus(i));
end

% Calcular normal padrão para referência (se não tiver normpdf, usar exp formula)
if exist('normpdf','file')
    yNorm = normpdf(x, 0, 1);
else
    yNorm = (1/sqrt(2*pi)) * exp(-x.^2 / 2);
end

% Plot
figure;
hold on;
colors = lines(numel(nus)); % paleta de cores automática
for i = 1:numel(nus)
    plot(x, Y(i,:), 'Color', colors(i,:), 'LineWidth', 1.5);
end
plot(x, yNorm, 'k--', 'LineWidth', 1.2); % normal padrão como referência

% Legenda com graus de liberdade
legendStr = arrayfun(@(v) sprintf('\\nu=%d', v), nus, 'UniformOutput', false);
legendStr{end+1} = 'Normal(0,1)';
legend(legendStr, 'Location', 'Best');

% Rótulos e formato
xlabel('x');
ylabel('pdf');
title('Distribuição t de Student para vários graus de liberdade');
grid on;
xlim([-5 5]);
box on;
hold off;

Exercícios relacionados