Compare commits
No commits in common. "8d7e037ea3a2128708af86a86e64dbb0f3bc79e7" and "20ee11c3a9377e8410b51a9d4f1c22d7262b265c" have entirely different histories.
8d7e037ea3
...
20ee11c3a9
|
@ -1,2 +1 @@
|
||||||
*-TiagoRG/
|
*-TiagoRG/
|
||||||
ia2024-tpg-113304_113435_114184/
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,23 +0,0 @@
|
||||||
% Definindo os valores da variável aleatória
|
|
||||||
x = 1:6; % Faces do dado
|
|
||||||
p = ones(1, 6) / 6; % Probabilidade de cada face (distribuição uniforme)
|
|
||||||
|
|
||||||
figure;
|
|
||||||
|
|
||||||
% (a) Gráfico da função massa de probabilidade
|
|
||||||
subplot(2, 1, 1); % Duas linhas, uma coluna, primeiro gráfico
|
|
||||||
bar(x, p, 'FaceColor', [0 0.5 0.8]);
|
|
||||||
xlabel('Valores de X (Faces do dado)');
|
|
||||||
ylabel('P(X)');
|
|
||||||
xticks(x); % Colocar ticks em cada face do dado
|
|
||||||
grid on;
|
|
||||||
|
|
||||||
% (b) Gráfico da função de distribuição acumulada
|
|
||||||
subplot(2, 1, 2); % Duas linhas, uma coluna, segundo gráfico
|
|
||||||
F = cumsum(p); % Função de distribuição acumulada
|
|
||||||
stairs(x, F, 'LineWidth', 2, 'Color', [0.8 0 0]);
|
|
||||||
xlabel('Valores de X (Faces do dado)');
|
|
||||||
ylabel('F(X)');
|
|
||||||
xticks(x); % Colocar ticks em cada face do dado
|
|
||||||
grid on;
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
xi = 0 : 4;
|
|
||||||
p = [0.9 0.09 0.01];
|
|
||||||
b = [0 cumsum(p) 1];
|
|
||||||
|
|
||||||
stairs(xi, b);
|
|
||||||
xlabel('Valor da Nota (Euros)');
|
|
||||||
ylabel('F_X(x)');
|
|
|
@ -1,107 +0,0 @@
|
||||||
% Number of simulations
|
|
||||||
num_simulations = 10000;
|
|
||||||
|
|
||||||
%% a)
|
|
||||||
fprintf("e)\n");
|
|
||||||
% Simulate coin tosses
|
|
||||||
results = randi([0, 1], num_simulations, 4); % 0 = tails (C), 1 = heads (K)
|
|
||||||
|
|
||||||
% Count the number of heads (K) in each simulation
|
|
||||||
num_heads = sum(results, 2);
|
|
||||||
|
|
||||||
% Estimate the probability mass function
|
|
||||||
pX = zeros(1, 5); % For 0 to 4 heads
|
|
||||||
for x = 0:4
|
|
||||||
pX(x + 1) = sum(num_heads == x) / num_simulations;
|
|
||||||
end
|
|
||||||
|
|
||||||
% Values of x (number of heads)
|
|
||||||
values_x = 0:4;
|
|
||||||
|
|
||||||
% Plotting the probability mass function
|
|
||||||
bar(values_x, pX);
|
|
||||||
xlabel('Number of Heads (K)');
|
|
||||||
ylabel('Probability P(X=x)');
|
|
||||||
title('Probability Mass Function P(X)');
|
|
||||||
xticks(values_x);
|
|
||||||
|
|
||||||
% Display the results
|
|
||||||
disp('P(X=x) values:');
|
|
||||||
for x = 0:4
|
|
||||||
fprintf('P(X=%d) = %.4f\n', x, pX(x + 1));
|
|
||||||
end
|
|
||||||
|
|
||||||
%% b)
|
|
||||||
fprintf("\n====================\n\nb)\n");
|
|
||||||
% Calculando o valor esperado E(X)
|
|
||||||
E_X = sum(values_x .* pX);
|
|
||||||
|
|
||||||
% Calculando E(X^2)
|
|
||||||
E_X2 = sum((values_x.^2) .* pX);
|
|
||||||
|
|
||||||
% Calculando a variância Var(X)
|
|
||||||
Var_X = E_X2 - E_X^2;
|
|
||||||
|
|
||||||
% Calculando o desvio padrão
|
|
||||||
std_X = sqrt(Var_X);
|
|
||||||
|
|
||||||
% Exibindo os resultados
|
|
||||||
fprintf('Valor Esperado E(X) = %.4f\n', E_X);
|
|
||||||
fprintf('Variância Var(X) = %.4f\n', Var_X);
|
|
||||||
fprintf('Desvio Padrão σ(X) = %.4f\n', std_X);
|
|
||||||
|
|
||||||
%% d)
|
|
||||||
fprintf("\n====================\n\nd)\n");
|
|
||||||
% Número total de lançamentos
|
|
||||||
n = 4;
|
|
||||||
p = 0.5;
|
|
||||||
|
|
||||||
% Calculando os valores teóricos da função massa de probabilidade
|
|
||||||
pX_teorico = zeros(1, 5);
|
|
||||||
for k = 0:n
|
|
||||||
pX_teorico(k + 1) = nchoosek(n, k) * (p^k) * ((1-p)^(n-k));
|
|
||||||
end
|
|
||||||
|
|
||||||
% Comparando os valores teóricos com os estimados
|
|
||||||
fprintf('Comparação entre valores teóricos e estimados:\n');
|
|
||||||
fprintf('%-10s %-10s %-10s\n', 'Coroas (K)', 'Teórico', 'Estimado');
|
|
||||||
for x = 0:4
|
|
||||||
fprintf('%-10d %-10.4f %-10.4f\n', x, pX_teorico(x + 1), pX(x + 1));
|
|
||||||
end
|
|
||||||
|
|
||||||
%% e)
|
|
||||||
fprintf("\n====================\n\ne)\n");
|
|
||||||
% Parâmetros da distribuição
|
|
||||||
n = 4; % número de lançamentos
|
|
||||||
p = 0.5; % probabilidade de obter uma coroa
|
|
||||||
|
|
||||||
% Cálculo teórico do valor esperado
|
|
||||||
E_X_teorico = n * p;
|
|
||||||
|
|
||||||
% Cálculo teórico da variância
|
|
||||||
Var_X_teorico = n * p * (1 - p);
|
|
||||||
|
|
||||||
% Exibindo os resultados
|
|
||||||
fprintf('Comparação entre valores teóricos e estimados:\n');
|
|
||||||
fprintf('%-20s %-10s %-10s\n', 'Descrição', 'Teórico', 'Estimado');
|
|
||||||
fprintf('%-20s %-10.4f %-10.4f\n', 'E[X]', E_X_teorico, E_X);
|
|
||||||
fprintf('%-20s %-10.4f %-10.4f\n', 'Var(X)', Var_X_teorico, Var_X);
|
|
||||||
|
|
||||||
%% f)
|
|
||||||
fprintf("\n====================\n\nf)\n");
|
|
||||||
% Valores teóricos da função massa de probabilidade
|
|
||||||
pX_teorico = zeros(1, 5);
|
|
||||||
for k = 0:n
|
|
||||||
pX_teorico(k + 1) = nchoosek(n, k) * (p^k) * ((1-p)^(n-k));
|
|
||||||
end
|
|
||||||
|
|
||||||
% Cálculo das probabilidades
|
|
||||||
P_ge_2 = 1 - (pX_teorico(1) + pX_teorico(2)); % P(X >= 2)
|
|
||||||
P_le_1 = pX_teorico(1) + pX_teorico(2); % P(X <= 1)
|
|
||||||
P_between_1_and_3 = pX_teorico(2) + pX_teorico(3) + pX_teorico(4); % P(1 <= X <= 3)
|
|
||||||
|
|
||||||
% Exibindo os resultados
|
|
||||||
fprintf('Probabilidades:\n');
|
|
||||||
fprintf('P(X >= 2) = %.4f\n', P_ge_2);
|
|
||||||
fprintf('P(X <= 1) = %.4f\n', P_le_1);
|
|
||||||
fprintf('P(1 <= X <= 3) = %.4f\n', P_between_1_and_3);
|
|
|
@ -1,48 +0,0 @@
|
||||||
% Parâmetros do problema
|
|
||||||
n = 5; % número de peças
|
|
||||||
p = 0.3; % probabilidade de uma peça ser defeituosa
|
|
||||||
num_simulacoes = 10000; % número total de simulações
|
|
||||||
|
|
||||||
% Simulação
|
|
||||||
defeituosas = binornd(n, p, num_simulacoes, 1);
|
|
||||||
|
|
||||||
% Cálculo da PMF
|
|
||||||
pmf = histcounts(defeituosas, 0:n+1, 'Normalization', 'probability');
|
|
||||||
|
|
||||||
% Cálculo da CDF
|
|
||||||
cdf = cumsum(pmf);
|
|
||||||
|
|
||||||
% Cálculo da probabilidade de no máximo 2 defeituosas
|
|
||||||
prob_max_2 = sum(pmf(1:3)); % PMF para 0, 1 e 2 peças defeituosas
|
|
||||||
|
|
||||||
% Exibição dos resultados
|
|
||||||
disp('PMF:');
|
|
||||||
disp(pmf);
|
|
||||||
disp('CDF:');
|
|
||||||
disp(cdf);
|
|
||||||
disp(['Probabilidade de no máximo 2 peças defeituosas: ', num2str(prob_max_2)]);
|
|
||||||
|
|
||||||
% Gráfico na mesma figura, gráficos diferentes
|
|
||||||
figure;
|
|
||||||
|
|
||||||
% Subplot para a PMF
|
|
||||||
subplot(2, 1, 1); % 2 linhas, 1 coluna, 1º gráfico
|
|
||||||
bar(0:n, pmf, 'FaceColor', 'b', 'EdgeColor', 'k');
|
|
||||||
title('Função Massa de Probabilidade (PMF)');
|
|
||||||
xlabel('Número de Peças Defeituosas');
|
|
||||||
ylabel('Probabilidade');
|
|
||||||
xlim([-0.5 n + 0.5]);
|
|
||||||
grid on;
|
|
||||||
|
|
||||||
% Subplot para a CDF
|
|
||||||
subplot(2, 1, 2); % 2 linhas, 1 coluna, 2º gráfico
|
|
||||||
cdf_plot = [0; cdf(:)]; % Adiciona um zero no início
|
|
||||||
x_values = 0:n; % Valores do eixo x
|
|
||||||
x_values = [0; x_values(:)]; % Adiciona um zero no início
|
|
||||||
|
|
||||||
plot(x_values, cdf_plot, '-o', 'Color', 'r');
|
|
||||||
title('Função Distribuição Acumulada (CDF)');
|
|
||||||
xlabel('Número de Peças Defeituosas');
|
|
||||||
ylabel('Probabilidade Acumulada');
|
|
||||||
xlim([-0.5 n + 0.5]);
|
|
||||||
grid on;
|
|
|
@ -1,22 +0,0 @@
|
||||||
% Valores de p variando de 0.001 a 0.5
|
|
||||||
p = logspace(-3, log10(0.5), 100);
|
|
||||||
|
|
||||||
% Probabilidades de despenho
|
|
||||||
P_2_motores = p.^2;
|
|
||||||
P_4_motores = 4 * p.^3 .* (1 - p) + p.^4;
|
|
||||||
|
|
||||||
% Plotando os resultados
|
|
||||||
figure;
|
|
||||||
plot(p, P_2_motores, 'b-', 'LineWidth', 2);
|
|
||||||
hold on;
|
|
||||||
plot(p, P_4_motores, 'r-', 'LineWidth', 2);
|
|
||||||
hold off;
|
|
||||||
|
|
||||||
% Configurações do gráfico
|
|
||||||
xlabel('Probabilidade de falha (p)');
|
|
||||||
ylabel('Probabilidade de despenho');
|
|
||||||
title('Probabilidade de Despenho vs. Probabilidade de Falha');
|
|
||||||
legend('2 Motores', '4 Motores');
|
|
||||||
grid on;
|
|
||||||
set(gca, 'XScale', 'log');
|
|
||||||
ylim([0 1]);
|
|
|
@ -1,21 +0,0 @@
|
||||||
% Parâmetros
|
|
||||||
n = 8000;
|
|
||||||
p = 1/1000;
|
|
||||||
k = 7;
|
|
||||||
|
|
||||||
% (a) Cálculo usando a distribuição binomial
|
|
||||||
% Cálculo da combinação diretamente
|
|
||||||
comb = 1;
|
|
||||||
for i = 1:k
|
|
||||||
comb = comb * (n - (i - 1)) / i; % Cálculo da combinação n!/(k!(n-k)!)
|
|
||||||
end
|
|
||||||
|
|
||||||
P_binomial = comb * (p^k) * ((1 - p)^(n - k));
|
|
||||||
|
|
||||||
% (b) Cálculo usando a aproximação de Poisson
|
|
||||||
lambda = 8; % média de defeituosos em 8000 chips
|
|
||||||
P_poisson = (lambda^k * exp(-lambda)) / factorial(k);
|
|
||||||
|
|
||||||
% Resultados
|
|
||||||
fprintf('Probabilidade (Binomial) de 7 defeituosos: %.6f\n', P_binomial);
|
|
||||||
fprintf('Probabilidade (Poisson) de 7 defeituosos: %.6f\n', P_poisson);
|
|
|
@ -1,14 +0,0 @@
|
||||||
% Parâmetros
|
|
||||||
lambda = 60; % média em 4 segundos
|
|
||||||
|
|
||||||
% (a) Probabilidade de não receber nenhuma mensagem
|
|
||||||
P_0 = exp(-lambda); % P(X = 0)
|
|
||||||
|
|
||||||
% (b) Probabilidade de receber mais de 40 mensagens
|
|
||||||
% Usando a soma das probabilidades de 0 a 40
|
|
||||||
P_leq_40 = sum(exp(-lambda) * (lambda.^(0:40)) ./ factorial(0:40)); % P(X <= 40)
|
|
||||||
P_gt_40 = 1 - P_leq_40; % P(X > 40)
|
|
||||||
|
|
||||||
% Resultados
|
|
||||||
fprintf('Probabilidade de não receber nenhuma mensagem: %.10f\n', P_0);
|
|
||||||
fprintf('Probabilidade de receber mais de 40 mensagens: %.10f\n', P_gt_40);
|
|
|
@ -1,12 +0,0 @@
|
||||||
% Parâmetros
|
|
||||||
lambda = 2; % média de erros em 100 páginas
|
|
||||||
|
|
||||||
% Cálculo das probabilidades
|
|
||||||
P_0 = exp(-lambda); % P(X = 0)
|
|
||||||
P_1 = (lambda^1 * exp(-lambda)) / factorial(1); % P(X = 1)
|
|
||||||
|
|
||||||
% Probabilidade de no máximo 1 erro
|
|
||||||
P_leq_1 = P_0 + P_1;
|
|
||||||
|
|
||||||
% Resultados
|
|
||||||
fprintf('Probabilidade de no máximo 1 erro em 100 páginas: %.6f\n', P_leq_1);
|
|
|
@ -1,31 +0,0 @@
|
||||||
% Parâmetros
|
|
||||||
mu = 14; % média
|
|
||||||
sigma = 2; % desvio padrão
|
|
||||||
n_samples = 100000; % número de amostras
|
|
||||||
|
|
||||||
% Gerar amostras da distribuição normal
|
|
||||||
X = mu + sigma * randn(n_samples, 1); % amostras
|
|
||||||
|
|
||||||
% (a) Probabilidade de um aluno ter classificação entre 12 e 16
|
|
||||||
P_a = mean(X >= 12 & X <= 16);
|
|
||||||
|
|
||||||
% (b) Probabilidade de os alunos terem classificações entre 10 e 18
|
|
||||||
P_b = mean(X >= 10 & X <= 18);
|
|
||||||
|
|
||||||
% (c) Probabilidade de um aluno passar (classificação maior ou igual a 10)
|
|
||||||
P_c = mean(X >= 10);
|
|
||||||
|
|
||||||
% Exibir resultados
|
|
||||||
fprintf('Estimativa da probabilidade (a) entre 12 e 16: %.4f\n', P_a);
|
|
||||||
fprintf('Estimativa da probabilidade (b) entre 10 e 18: %.4f\n', P_b);
|
|
||||||
fprintf('Estimativa da probabilidade (c) para passar (>= 10): %.4f\n', P_c);
|
|
||||||
|
|
||||||
% Verificação usando normcdf()
|
|
||||||
P_a_exact = normcdf(16, mu, sigma) - normcdf(12, mu, sigma);
|
|
||||||
P_b_exact = normcdf(18, mu, sigma) - normcdf(10, mu, sigma);
|
|
||||||
P_c_exact = 1 - normcdf(10, mu, sigma); % P(X >= 10)
|
|
||||||
|
|
||||||
% Exibir resultados da verificação
|
|
||||||
fprintf('Probabilidade exata (a) entre 12 e 16: %.4f\n', P_a_exact);
|
|
||||||
fprintf('Probabilidade exata (b) entre 10 e 18: %.4f\n', P_b_exact);
|
|
||||||
fprintf('Probabilidade exata (c) para passar (>= 10): %.4f\n', P_c_exact);
|
|
Loading…
Reference in New Issue