You are on page 1of 7

05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.

m 1 of 7

%%
%-------------------------------------------------------------------------
% LISTA 02 - LISTA DE EXERCÍCIO IPE #2, COMPLEMENTO
% EEE945 - INTRODUÇÃO AOS PROCESSOS ESTOCÁSTICOS
% DESENVOLVIDO POR CLARA DUARTE DE SANT'ANNA
%-------------------------------------------------------------------------

clc
clear all
close all
clc

disp (' ');


disp (' LISTA 02 - LISTA DE EXERCÍCIO IPE #2, COMPLEMENTO );'
disp (' EEE945 - INTRODUÇÃO AOS PROCESSOS ESTOCÁSTICOS );'
disp (' DESENVOLVIDO POR CLARA DUARTE DE SANT ANNA )';

disp (' ');


disp (' ');
disp (' LISTA DE EXERCÍCIO IPE #2 ');

% Exercício 1
clear all;
disp (' ');
disp (' EXERCÍCIO 1 ');

n = 6; % total de letras do alfabeto


nc = n^3; % numero de combinaçoes
disp (' ');
disp (' Probabilidade do Evento A ');
pA = (n^2)/nc
disp (' ');
disp (' Probabilidade do Evento B ');
pB = (n^2)/nc
disp (' ');
disp (' Probabilidade do Evento C ');
pC = (3*(n-1)*n)/nc

disp (' ');


disp (' Intersecção entre os eventos ');
pAB = n/nc
pAC = (3 *(n-1))/nc
pBC = (3 *(n-1))/nc
pABC =(n-1)/nc

% Teste de independencia ou não entre eventos!


eventoAB = logical (pAB == (pA)*(pB));
if (eventoAB == 1)
disp (' ');
disp (' Os eventos A e B sao independentes ');
else
disp (' ');
disp (' Eventos A e B nao sao independentes ');
end
eventoAC = logical(pAC == (pA)*(pC));
05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.m 2 of 7

if (eventoAC == 1)
disp (' ');
disp (' Os eventos A e C sao independentes ');
else
disp (' ');
disp (' Eventos A e C nao sao independentes ');
end
eventoBC = logical(pBC == (pC)*(pB));
if (eventoBC == 1)
disp (' ');
disp (' Eventos B e C sao independentes ');
else
disp (' ');
disp (' Eventos B e C nao sao independentes ');
end
eventoABC = logical(pABC == (pA)*(pB)*(pC));
if (eventoABC == 1)
disp (' ');
disp (' Eventos A, B e C sao independentes ');
else
disp (' ');
disp (' Eventos A, B e C nao sao independentes ');
end

% Exercício 2
clear all;
disp (' ');
disp (' ');
disp (' EXERCÍCIO 2 ');

% Definindo valores positivos para a e b, sendo a = 1 e b = 0.5


a = 1;
b = 0.5;

% Evento A
At = a*b;
if(a > b)
x = b;
y = b;
area = (x*y)/2;
pA = area/At;
elseif (a < b)
x = a;
y = a;
area = At -(x*y)/2;
pA = area/At;
else
x = a;
y = b;
area =(x*y)/2;
pA = area/At;
end
disp (' ');
disp (' Probabilidade do Evento A ');
05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.m 3 of 7

pA

% Evento B
x = [0: 0.01: a];
y = [0: 0.01: b];
l = 0; % contador
for(i = 1:length(x))
for(j = 1:length(y))
if((b*x(i) + a*y(j)) <= (a*b)/2) % o ponto satisfaz a equação?
l = l +1;
end
end
end
totalp = length(x)*length(y);
pB = l/totalp;
disp (' ');
disp (' Probabilidade do Evento B ');
pB

% Evento C
x = [0: 0.01: a];
y = [0: 0.01: b];
l = 0; % contador
for(i = 1:length(x))
for(j = 1:length(y))
if((b*x(i) + a*y(j)) >= (a*b)/3) % o ponto satisfaz a equação?
l = l +1;
end
end
end
totalp = length(x)*length(y); % total pontos
pC = l/totalp;
disp (' ');
disp (' Probabilidade do Evento C ');
pC

% Evento D
x = [0: 0.01: a];
y = [0: 0.01: b];
l = 0; % Contador
for(i = 1:length(x))
for(j = 1:length(y))
if((x(i) + y(j)) < 1/3) % o ponto satisfaz a equação?
l = l +1;
end
end
end
totalp = length(x)*length(y); % total pontos
pD = l/totalp;
disp (' ');
disp (' Probabilidade do Evento C ');
pD

% Independência ou não de B e C
pBC = l/(length(x)*length(y));
05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.m 4 of 7

eventoBC = logical(pBC == (pC)*(pB));


if (eventoBC == 1)
disp (' ');
disp (' Eventos B e C sao independentes ');
else
disp (' ');
disp (' Eventos B e C não sao independentes ');
end

% Exercício 3
clear all;
disp (' ');
disp (' ');
disp (' EXERCÍCIO 3 ');

m = 1000;

for m=1:1000
a(m) = 1+(2-1)*rand(1,1);
b(m) = 5+(6-5)*rand(1,1);
c(m) = 2+(5-2)*rand(1,1);
end

n_neg = 0;
z = 1; % z representa a combinação de i,j e k

for i=1:m
delta(z) = b(i)^2-4*(a(i).*c(i));
if delta(z) < 0
n_neg = n_neg +1;
end
z = z+1;
end

disp (' ');


disp (' Probabilidade das raízes serem imaginárias '
);
p_dn = n_neg/m

% Gráfico de ajuste para o modelo de probabilidade


figure
hist(delta)
hold on
grid on
grid minor
x = -15:0.01:30;
z = (x-mean(delta))/std(delta);
px = (1/std(delta)*sqrt(2*pi))*exp(-0.5*z.^2)*(m/2);
plot(x,px,'m')
xlabel('x')
ylabel('P(x)')

% Exercício 5 - Programa 3.34


clear all;
disp (' ');
05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.m 5 of 7

disp (' ');


disp (' EXERCÍCIO 5 - Programa 3.34 ');

% Urna com 4 bolas vermelhas e 2 pretas


% Possibilidades de sair uma bola vermelha e uma branca em qualquer ordem
% v = vermelho e p = preto

k = 0; % soma eventos
Eventos = [];

for i = 1:6 % retirada de primeira bola


for j = 1:6 % retirada de segunda bola
if((i <= 4 & j >=5)|(i >= 5 & j <= 4)) % se p + v ou v + p
Eventos = [Eventos; [i j]];
k = k + 1;
n = 30;
end
end
end

disp (' ');


disp (' Eventos bola vermelha|bola preta e bola preta|bola vermelha'
);
Eventos
disp (' ');
disp (' Probabilidade geral bola vermelha|preta ou preta|vermelha );
'
P = k/n

% Exercício 5 - Programa 3.37


clear all;
disp (' ');
disp (' ');
disp (' EXERCÍCIO 5 - Programa 3.37 ');

% Comparação de N!, para N grande, com a fómula de aproximação de Stirling


% Na fómula de aproximação de Stirling calcula-se N, ln N! e lnN^!

C = []; % tabela de comparação

for N = 1:100
x(N,1) = (sqrt(2*pi) * N^(N+0.5) * exp(-N));
if mod(N,10) == 0
C = [C; N log(prod(1:N)) log(x(N))];
end
end

disp (' ');


disp (' Comparação N, ln N! e lnN^');
C

% OBS.: Não foi possível calcular a aproximação para N = 200, já que N! é


% infinito para alguns valores.

disp (' ');


05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.m 6 of 7

disp (' ');


disp (' LISTA COMPLEMENTO ');

% Exercício 1_Complementar
clear all;
disp (' ');
disp (' EXERCÍCIO 1 ');

% Lançamento sucessivo e independente de uma moeda equilibrada


% Sendo: 1 = cara e 0 = coroa
% Evento: n lançamentos com An = {1, 1, 1, ...}

rand('state', 1);
N = 10000000; % pelo Lema de Borel-Cantelli tende a infinito os eventos/as
% simulações

% rand('state', 1)
% N = 100 -> S(An) = 8 -> P(An) = 0.08
% N = 1000 -> S(An) = 116 -> P(An) = 0.11608
% N = 10000 -> S(An) = 1251 -> P(An) = 0.1251
% N = 100000 -> S(An) = 12587 -> P(An) = 0.1259
% N = 1000000 -> S(An) = 124573 -> P(An) = 0.1246
% N = 10000000 -> S(An) = 1250767 -> P(An) = 0.1251 => tende a infinito
% N = 100000000 -> S(An) = 12498086 -> P(An) = 0.125 => tende a infinito
% N = 1000000000 -> S(An) = 12498086 -> P(An) = 0.125 => tende a infinito

% Simulações do Programa // Lançamentos


for x = 1:1:N
if rand(1,1) < 0.5
evento(x,1) = 1;
else
evento(x,1) = 0;
end
end

% Somas do Evento (exatamente 3 caras inicialmente (1110 ou 1111))


for x = 1:1:N-4
if evento(x,1) == 1 && evento(x+1,1) == 1 && evento(x+2,1) == 1 && evento(x+3,1)
== 0
An(x,1) = 1;
elseif evento(x,1) == 1 && evento(x+1,1) == 1 && evento(x+2,1) == 1 && evento
(x+3,1) == 1
An(x,1) = 1;
else
An(x,1) = 0;
end
end

disp (' ');


disp (' Somas do Evento (exatamente 3 caras inicialmente (1110 ou 1111)) );
'
s_An = sum(An)
disp (' ');
disp (' Probabilidade 1110 ou 1111: ');
p_An = s_An/N
05/04/19 20:39 C:\Users\Clara Duarte\Deskt...\LISTA_02.m 7 of 7

% OBS.: Como os três primeiros lançamentos devem dar cara, o quarto e os


% seguintes pode ser cara ou coroa.. Pelo Lema de Borel-Cantelli quando os
% eventos tendem ao infinito a probabilidade tende a 1. Para alcançar a
% probabilidade pode-se mudar a porcentagem de cara na função rand nos três
% primeiros lançamentos. Mas alteraria a condição inicial pedida, então o
% código considerou a moeda equilibrada. Sendo assim a probabilidade do
% evento ocorrer tende a zero.

disp (' ');


disp (' Pelo Lema de Borel-Cantelli, como os eventos não são infinito a probabilidade
tende a zero. ');

You might also like