Vous êtes sur la page 1sur 13

28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.

m 1 of 13

%%
%-------------------------------------------------------------------------
% LISTA 01 - LISTA DE EXERCÍCIO IPE #1 - PARTE COMPUTACIONAL
% EEE945 - INTRODUÇÃO AOS PROCESSOS ESTOCÁSTICOS
% DESENVOLVIDO POR CLARA DUARTE DE SANT'ANNA
%-------------------------------------------------------------------------

clc
clear all
close all
clc

disp (' ');


disp (' LISTA 01 - LISTA DE EXERCÍCIO IPE #1 - PARTE COMPUTACIONAL );
'
disp (' EEE945 - INTRODUÇÃO AOS PROCESSOS ESTOCÁSTICOS )';
disp (' DESENVOLVIDO POR CLARA DUARTE DE SANT ANNA )
';

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

% Família com 4 adultos


% 60% de chance de um adulto fora de casa
% Cálculo da probabilidade de 2 adultos em casa simultaneamente [Fdentro]

% Sendo que há 40% de chance de um adulto dentro de casa (já provado


% matematicamente)

F = 0; % variável para somar a frêquencia de 2 pessoas simultaneamente

a = 10000; % quantidade de vezes em que o programa será simulado

for x = 1:a
contador = 0; % contador para verificar quantos adultos estão fora ou
% dentro de casa simultanemante na simulação do programa
for p = 1:4 % análise dos quatro adultos por simulação
rand(p,1); % sorteio
if rand(p,1) <= 0.6 % adulto fora de casa
contador = contador + 1;
end
end
if contador == 2 % se 2 adultos fora de casa na simulação
F = F + 1;
end
end

disp (' ');


disp('Probabilidade de 2 adultos estarem fora de casa simultaneamente:'
);
P = F/a
disp('A probabilidade de 2 adultos estarem fora ou dentro de casa simultaneamente é a
mesma');
disp('(já provado matematicamente)')
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 2 of 13

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

% Probabilidade descrita por uma Distribuição Gaussiana com média 7 e


% desvio padrão unitário
P_T = @(t) (1/sqrt(2))*exp(-(1/2)*(t-7).^2.);
% Cálculo da probabilidade do evento 5 <= T <= 6
P = integral(P_T,5,6);

disp (' ');


disp('Probabilidade de uma Distribuição Gaussiana, evento 5 <= T <= 6: );
'
P

% % % % Gráfico
% % % P_T = @(t) (1/sqrt(2))*exp(-(1/2)*(t-7).^2.); % Distribuição Gaussiana
% % % limites = linspace(0, 11); % limites em x
% % % P = arrayfun(@(uplim) integral(P_T , 0, uplim, 'ArrayValued',true), limites);
% % % figure();
% % % plot(limites, P) % gráfico da Distribuição Gaussiana
% % % title('EXERCÍCIO 2')
% % % ylabel('PT');
% % % xlabel('t');
% % % grid

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

disp (' ');


disp (' Olhar gráfico EXERCÍCIO 3.');

% Ui é um valor entre [0 1]
% X = U1+U2

a = 10000; % quantidade de vezes em que o programa será simulado

i = 2; % números Ui da somatoria do termo X

cont=0;
resposta = zeros(1,4);

for x=1:a
Y(1,x)=0;
for m= 1:i %% CRIAÇAO Dos vetores u1 ate u10 e y
u(m,1)= rand(1,1);
Y(1,x)= u(m,1)+Y(1,x);
end
for n=0:3 % verifica em que intervalo esta o y gerado
if (Y(x)<n/2+0.5 & Y(x)>=n/2)
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 3 of 13

resposta(n+1)= resposta(n+1)+1;
end
end
end

%Gráfico
figure(1);
resposta= resposta/a;
cont = [0.5:0.5:2]';
bar(cont,resposta,'b')
xlim([0,2.5]);
title('EXERCÍCIO 3')
ylabel('Probabilidades');
xlabel('Intervalos');
grid minor

% % % % Probabilidades Calculadas
% % % % A) Probabilidade do evento 0 <= X < 0.5 [Pa]
% % % % B) Probabilidade do evento 0.5 <= X < 1 [Pb]
% % % % C) Probabilidade do evento 1 <= X < 1.5 [Pc]
% % % % D) Probabilidade do evento 1.5 <= X <= 2 [Pd]
% % % % E) Probabilidade do evento X > 2 [Pe]
% % %
% % % a = 10000; % quantidade de vezes em que o programa será simulado
% % %
% % % Fa = 0; % frequência do evento A
% % % Fb = 0; % frequência do evento B
% % % Fc = 0; % frequência do evento C
% % % Fd = 0; % frequência do evento D
% % % Fe = 0; % frequência do evento E
% % %
% % % for i = 1:a
% % % U1 = rand(1); % sorteio 1º valor
% % % U2 = rand(1); % sorteio 2º valor
% % % X = U1 + U2;
% % % if X >= 0 && X < 0.5
% % % Fa = Fa + 1;
% % % end
% % % if X >= 0.5 && X < 1
% % % Fb = Fb + 1;
% % % end
% % % if X >= 1 && X < 1.5
% % % Fc = Fc + 1;
% % % end
% % % if X >= 1.5 && X <= 2
% % % Fd = Fd + 1;
% % % end
% % % if X > 2
% % % Fe = Fe + 1;
% % % end
% % % end
% % %
% % % disp (' ');
% % % disp (' Probabilidades Calculadas: ');
% % % disp (' ');
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 4 of 13

% % % disp ('(A) 0 <= X < 0.5');


% % % Pa = Fa/a
% % % disp ('(B) 0.5 <= X < 1');
% % % Pb = Fb/a
% % % disp ('(C) 1 <= X < 1.5');
% % % Pc = Fc/a
% % % disp ('(D) 1.5 <= X <= 2');
% % % Pd = Fd/a
% % % disp ('(E) X > 2');
% % % Pe = Fe/a

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

disp (' ');


disp (' Olhar gráfico EXERCÍCIO 4.');

% Ui é um valor entre [0 1]
% Z = U1 + U2 + U3 + U4 + U5 + U6 + U7 + U8 + U9 + U10

a = 10000; % quantidade de vezes em que o programa será simulado

i = 10; % números Ui da somatoria do termo Y

cont=0;
resposta = zeros(1,20);

for x=1:a
Y(1,x)=0;
for m= 1:i %% cria/sorteia os vetores U1 ate U10 de Y
u(m,1)= rand(1,1);
Y(1,x)= u(m,1)+Y(1,x);
end
for n=0:19 % verifica em que intervalo está o Y gerado
if (Y(x)<n/2+0.5 & Y(x)>=n/2)
resposta(n+1)= resposta(n+1)+1;
end
end
end

% Gráfico
figure(2);
resposta= resposta/a;
cont = [0.5:0.5:10]';
bar(cont,resposta,'b')
xlim([0,10]);
title('EXERCÍCIO 4')
ylabel('Probabilidades');
xlabel('Intervalos');
grid minor
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 5 of 13

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

a = 10000; % quantidade de vezes em que o programa será simulado

Bn= 0;
for i =1:1:a
Bn = Bn + (i^4)/(factorial(i));
end
Bn = exp (-1)*Bn;

disp('');
Bn

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

% Torneio de tênis com três competidores A, B e C


% No torneio A joga com B, o vencedor joga com C e assim por diante
% O torneiro termina quando UM JOGADOR GANHA DUAS VEZES EM SEGUIDA ou
% quando SÃO DISTRIBUÍDO AO TODO QUATRO PARTIDAS
% Considerando que todos os jogadores têm a mesma probabilidade de ganhar
% um jogo. Calculou-se uma simulação com os eventos possíveis.

% PROBABILIDADES calculadas:
% A vencer 2x seguidas no TORNEIO [AA, BCAA]
% B vencer 2x seguidas no TORNEIO [BB, ACBB]
% C vencer 2x seguidas no TORNEIO [ACC, BCC]
% A vencer TORNEIO [AA, BCAA, ACBA]
% B vencer TORNEIO [BB, ACBB, BCAB]
% C vencer TORNEIO [ACC, BCC]

Faa = 0; % vez em que o competidor A ganha 2 vezes seguidas no torneio


Fbb = 0; % vez em que o competidor B ganha 2 vezes seguidas no torneio
Fcc = 0; % vez em que o competidor C ganha 2 vezes seguidas no torneio
Fa = 0; % vezes em que A o torneio
Fb = 0; % vezes em que B o torneio

% para tornar o programa mais fiel usa-se um valor elevado de amostras


a = 10000; % quantidade de vezes em que o troneio será simulado

for x = 1:a
s = rand(1); % sorteio
if s > 0.5 % A x B e vitória de A
s = rand(1); % sorteio
if s > 0.5 % A x C e vitória de A
Faa = Faa + 1;
end
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 6 of 13

if s <= 0.5 % A x C e vitória de C


s = rand(1); % sorteio
if s > 0.5 % C x B e vitória de C
Fcc = Fcc + 1;
end
if s <= 0.5 % C x B e vitória de B
s = rand(1); % sorteio
if s > 0.5 % B x A e vitória de B
Fbb = Fbb + 1;
end
if s <= 0.5 % B x A e vitória de A
Fa = Fa + 1;
end
end
end
end
if s <= 0.5 % A x B e vitória de B
s = rand(1); % sorteio
if s > 0.5 % B x C e vitória de B
Fbb = Fbb + 1;
end
if s <= 0.5 % B x C e vitória de C
s = rand(1); % sorteio
if s > 0.5 % C x A e vitória de C
Fcc = Fcc + 1;
end
if s <= 0.5 % C x A e vitória de A
s = rand(1); % sorteio
if s > 0.5 % A x B e vitória de A
Faa = Faa + 1;
end
if s <= 0.5 % A x B e vitória de B
Fb = Fb + 1;
end
end
end
end
end

disp (' ');


disp (' PROBABILIDADE de: ');
disp (' ');
disp (' A vencer 2x seguidas no TORNEIO: [AA, BCAA] '
);
P2a = Faa/x
disp (' B vencer 2x seguidas no TORNEIO: [BB, ACBB] '
);
P2b = Fbb/x
disp (' C vencer 2x seguidas no TORNEIO: [ACC, BCC] '
);
P2c = Fcc/x
disp (' A vencer TORNEIO [AA, BCAA, ACBA] ');
Pa = (Fa+Faa)/x
disp (' B vencer TORNEIO [BB, ACBB, BCAB] ');
Pb = (Fb+Fbb)/x
disp (' C vencer TORNEIO [ACC, BCC] ');
Pc = P2c
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 7 of 13

% OBS.: A probabilidade de A e B ganharem o torneio será levemente maior


% que de C ganhar.

% Exercício 7 - Programa 2.1


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.1 ');
rand('state', 0)
for i = 1:1000
% X1: moeda 1
if rand(1,1) < 0.5
X1 = 0; % para coroa
else
X1 = 1; % para cara
end
% X2: moeda 2
if rand(1,1) < 0.5
X2 = 0; % para coroa
else
X2 = 1; % para cara
end
Y(i,1) = X1 * X2;
end
P1 = sum(Y)/1000 % probabilidade de Y ser cara
P0 = 1 - P1 % probabilidade de Y ser coroa

% Exercício 7 - Programa 2.2


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.2 ');
rand('state', 0)
k = 0;
for i = 1:1000
u1 = rand(1,1);
if u1 <= 1/6
x1=1;
elseif u1 > 1/6 & u1 <= 2/6
x1 = 2;
elseif u1 > 2/6 & u1 <= 3/6
x1 = 3;
elseif u1 > 3/6 & u1 <= 4/6
x1 = 4;
elseif u1 > 4/6 & u1 <= 5/6
x1 = 5;
else
x1 = 6;
end

u2 = rand(1,1);
if u2 <= 1/6
x2=1;
elseif u2 > 1/6 & u2 <= 2/6
x2 = 2;
elseif u2 > 2/6 & u2 <= 3/6
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 8 of 13

x2 = 3;
elseif u2 > 3/6 & u2 <= 4/6
x2 = 4;
elseif u2 > 4/6 & u2 <= 5/6
x2 = 5;
else
x2 = 6;
end
if x1 == 1 & x2 == 1
k = k+1;
end
end
P = k/1000

% Exercício 7 - Programa 2.3


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.3 ');
randn('state', 0)
k = 0;
for i = 1:10000
x = randn(1,1);
if x >= -1 & x <= 1
k = k + 1;
end
end
P = k/10000
x = [-1:0.01:1]';
px = (1/sqrt(2*pi)*exp(-0.5*x.^2));
p_ = sum(px)*0.01

% Exercício 7 - Programa 2.4


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.4 ');
disp (' ');
disp (' Olhar gráfico EXERCÍCIO 7 - Programa 2.4.'
);
rand('state', 0)
x = zeros(1000,1);
for i = 1:1000
for j = 1:12
x(i,1) = x(i,1) + (rand(1,1) - 0.5);
end
end
figure(3);
xaxis = [-4:0.01:4]';
px = (1/sqrt(2*pi))*exp(-0.5*xaxis.^2);
subplot(2,1,1), plot(xaxis, px)
grid minor
title('EXERCÍCIO 7 - Programa 2.4')
xlabel('x')
ylabel('p(x)')
x;
N = 1000;
nbins = 50;
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 9 of 13

xmin = -4;
xmax = 4;
ymax = 0.75;
[y, xx] = hist(x(1:N), nbins);
delx = xx(2) - xx(1);
subplot(2,1,2), bar(xx, y/(N*delx))
grid minor
xlim([xmin,xmax]);
ylim([0,ymax]);
title('EXERCÍCIO 7 - Programa 2.4')
xlabel('x')
ylabel('p(x)')

% Exercício 7 - Programa 2.5


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.5 ');
disp (' ');
disp (' Olhar gráfico EXERCÍCIO 7 - Programa 2.5.'
);
rand('state', 0)
x = zeros(10000,1);
for i =1 :10000
x(i,1) = rand(1,1) - rand(1,1);
end
x;
N = 10000;
nbins = 50;
xmin = -1;
xmax = 1;
ymax = 2;
[y, xx] = hist(x(1:N), nbins);
delx = xx(2) - xx(1);
figure(4);
bar(xx, y/(N*delx))
grid minor
xlim([xmin,xmax]);
ylim([0,ymax]);
title('EXERCÍCIO 7 - Programa 2.5')
xlabel('x')
ylabel('p(x)')

% Exercício 7 - Programa 2.6


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.6 ');
disp (' ');
disp (' Olhar gráfico EXERCÍCIO 7 - Programa 2.6.'
);
rand('state', 0)
x = zeros(10000,1);
for i =1 :10000
x(i,1) = rand(1,1) * rand(1,1);
end
x;
N = 10000;
nbins = 50;
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 10 of 13

xmin = 0;
xmax = 1;
ymax = 6;
[y, xx] = hist(x(1:N), nbins);
delx = xx(2) - xx(1);
figure(5);
bar(xx, y/(N*delx))
grid minor
xlim([xmin,xmax]);
ylim([0,ymax]);
title('EXERCÍCIO 7 - Programa 2.6')
xlabel('x')
ylabel('p(x)')

% Exercício 7 - Programa 2.7


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.7 ');
rand('state', 0)
x = zeros(1000,1);
for i = 1:1000
u = rand(1,1);
if u <= 0.1
x(i,1) = 1;
elseif u > 0.1 & u <= 0.3
x(i,1) = 2;
else
x(i,1) = 3;
end
end
k1 = 0;
k2 = 0;
k3 = 0;
for i = 1:1000
if x(i,1) == 1
k1 = k1 + 1;
elseif x(i,1) == 2
k2 = k2 + 1;
else
k3 = k3 + 1;
end
end
p1 = k1/1000
p2 = k2/1000
p3 = k3/1000

% Exercício 7 - Programa 2.8


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.8 ');
rand('state', 0)
media = 0;
for i = 1:1000
media = media + (1/1000) * rand(1,1);
end
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 11 of 13

media

% Exercício 7 - Programa 2.9


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.9 ');
randn('state', 0)
media = 0;
for i = 1:1000
y(i,1) = 1 + randn(1,1);
media = media + (1/1000) * y(i);
end
media

% Exercício 7 - Programa 2.10


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.10 ');
randn('state', 0)
media = 0;
for i = 1:10000
y(i,1) = randn(1,1)^2;
media = media + (1/10000) * y(i);
end
media

% Exercício 7 - Programa 2.11


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.11 ');
rand('state', 0)
media = 0;
for i = 1:1000
y(i,1) = 2*rand(1,1);
media = media + (1/1000) * y(i);
end
media

% Exercício 7 - Programa 2.12


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.12 ');
disp (' ');
disp (' Olhar gráfico EXERCÍCIO 7 - Programa 2.12.'
);
randn('state', 0)
for i = 1:10000
x1(i,1) = randn(1,1);
x2(i,1) = randn(1,1) - randn(1,1);
end
x1;
N1 = 10000;
nbins1 = 50;
xmin1 = -5;
xmax1 = 5;
ymax1 = 0;
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 12 of 13

[y1, xx1] = hist(x1(1:N1), nbins1);


delx1 = xx1(2) - xx1(1);
figure(6);
subplot(2,1,1)
bar(xx1, y1/(N1*delx1))
grid minor
xlim([xmin1,xmax1]);
title('EXERCÍCIO 7 - Programa 2.12 _ X1')
xlabel('x')
ylabel('p(x)')
x2;
N2 = 10000;
nbins2 = 50;
xmin2 = -5;
xmax2 = 5;
ymax2 = 0;
[y2, xx2] = hist(x1(1:N2), nbins2);
delx2 = xx2(2) - xx2(1);
figure(6);
subplot(2,1,2)
bar(xx2, y2/(N2*delx2))
grid minor
xlim([xmin2,xmax2]);
title('EXERCÍCIO 7 - Programa 2.12 _ X2')
xlabel('x')
ylabel('p(x)')

% Exercício 7 - Programa 2.13


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.13 ');
randn('state', 0)
media = 0;
for i = 1:1000
R(i,1) = sqrt(randn(1,1)^2 + randn(1,1)^2);
media = media + (1/1000) * R(i);
end
media

% Exercício 7 - Programa 2.14


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.14 ');
rand('state', 0)
media = 0;
raizMedia = 0;
for i = 1:1000
u(i,1) = rand(1,1);
sqrtu(i,1) = sqrt(rand(1,1));
media = media + (1/1000) * u(i);
raizMedia = raizMedia + (1/1000) * sqrtu(i);
end
media = sqrt(media)
raizMedia
28/03/19 21:20 C:\Users\Clara Duarte\Des...\LISTA_01.m 13 of 13

% Exercício 7 - Programa 2.15


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.15 ');
disp (' ');
disp (' Olhar gráfico EXERCÍCIO 7 - Programa 2.15.'
);
randn('state', 0)
for i = 1:10000
x1 = randn(1,1);
x2 = randn(1,1);
y1(i,1) = x1 + 0.1 * x2;
y2(i,1) = x1 + 0.2 * x2;
end
figure(7);
plot(y1,y2,'*b')
title('EXERCÍCIO 7 - Programa 2.15')
xlabel('y1')
ylabel('y2')
grid minor

% Exercício 7 - Programa 2.16


clear all;
disp (' ');
disp (' EXERCÍCIO 7 - Programa 2.16 ');
disp (' ');
disp (' Olhar gráfico EXERCÍCIO 7 - Programa 2.16.'
);
rand('state', 0)
for i = 1:10000
u1 = rand(1,1);
u2 = rand(1,1);
x1(i,1) = u1;
x2(i,1) = u1 + u2;
end
figure(8);
plot(x1,x2,'*b')
title('EXERCÍCIO 7 - Programa 2.16')
xlabel('x1')
ylabel('x2')
grid minor

Vous aimerez peut-être aussi