This repository has been archived by the owner on Nov 3, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Practial Classes 1, 2, ..., 8
- Loading branch information
1 parent
60fd5c2
commit 72cc0da
Showing
128 changed files
with
129,993 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
% quantas sequencias de 10 bits há? | ||
numB = 1; % numero de sequencias | ||
for k=1:10 % k equivale a uuma posicao da sequencia; desde a posicao 1 -> 10 | ||
numB = numB * 2; | ||
end | ||
numB |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
% por calculos cheguei a conclusao de que a probabilidade de acertar | ||
% todas as n respostas, escolhendo-as com igual probabilidade teorica de | ||
% acertar/errar corresponde a expressao p("100%") = 0.5^n | ||
% VAMOS CONFIRMAR | ||
p = 0.5; | ||
prompt = 'Quantas perguntas tem o teste (introduza o valor de n)? '; | ||
n = input(prompt); | ||
|
||
% Probabilidade Teórica | ||
probT = p^n | ||
|
||
% Probabilidade de Simulação | ||
probSim = calcP(p,n,n,1e6) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
for k = 1 : 6 | ||
for x = 1 : 6 | ||
z = k + x | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
% Lancam-se dois dados e toma-se nota da soma de pontos obtida | ||
% Calcule a probabilidade de se obter a soma 9 | ||
N = 1e5; | ||
n = 2; | ||
k = 9; | ||
|
||
lancamentos = randi([1,6],n,N); | ||
sucessos = sum(lancamentos) == k; % SUCESSOS = "a soma dar 9" | ||
probSim = sum(sucessos) / N |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
% Um conjunto de 50 pecas contem 8 pecas defeituosas. | ||
% Escolhem-se aleatoriamente 10 pecas. | ||
% Qual a probabilidade de encontrar 3 defeituosas? | ||
n = 10; | ||
p = 8/50; | ||
k = 3; | ||
N = 1e5; | ||
|
||
probSim = calcProbSim(p, n, k, N) | ||
|
||
probT = calcProbT(p,n,k) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
function [p1] = calcP(p,n,k,N) | ||
lancamentos = rand(n,N) < p; | ||
sucessos= sum(lancamentos)==k; | ||
p1 = sum(sucessos)/N; | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
% Probabilidade Teórica | ||
% p = n!/((n-k)!k!)*p^k(1-p)^(n-k) | ||
|
||
p = 0.5; | ||
k = 2; | ||
n = 3; | ||
prob = factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k) % aplicacao da formula teorica | ||
|
||
% Probabilidade de simulacao | ||
N = 1e5; %%==1*10^5 mumero de experiencias | ||
n = 3; %% numero de lancamentos por experiencia | ||
p = 0.5; %% probabilidade de sair cara | ||
k = 2; %% Tenho sucesso na exp. qnd o numero de caras que sair for == 2 | ||
|
||
lancamentos = rand(n,N) > p ; % se for >0.5 da 1 -> saiu cara, caso contrário saiu coroa | ||
sucessos = sum(lancamentos) == k ; % da-nos o numero de sucessos (ou seja, que sairam 2 caras) | ||
probSim = sum(sucessos)/N |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
N = 1e5; % numero de repeticoes da experiencia | ||
n = 15; % numero de lancamentos | ||
p = 0.5; % Prob de sair cara | ||
k = 6; % Sucesso qnd temos 6 caras | ||
|
||
% Probabilidade Teórica | ||
|
||
probReal = factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k) | ||
|
||
% Probabilidade de Simulação | ||
|
||
lanc = rand(n,N) > p; | ||
succ = sum(lanc) == k; | ||
probSim = sum(succ)/N |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
N = 1e5; % numero de repeticoes da experiencia | ||
n = 15; % numero de lancamentos | ||
p = 0.5; % Prob de sair cara | ||
k = 6; % Sucesso qnd temos 6 caras | ||
|
||
% Probabilidade de Simulação | ||
lancamentos = rand(n,N) > p; | ||
sucessos = sum(lancamentos) >= k; | ||
probabilidade = sum(sucessos)/ N | ||
|
||
% Probablidade Teórica | ||
probT = 0; | ||
for k = 6 : n | ||
probT = probT + (factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k)); | ||
end | ||
probT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
N = 1e5; %%#de repeticoes da experiencia | ||
n = 15; %%#de lancamentos | ||
p = 0.5; %%Prob de sair cara ou coroa | ||
k = 6; %%Sucesso qnd temos 6, ou mais, caras | ||
|
||
calcP(p,n,k,N); | ||
|
||
n = 20; | ||
|
||
for k = 0 : n | ||
prob(k+1) = calcP(p,n,k,N); %%Prob sera um vetor em que a posicao k+1 equivale a probabilidade (tem de ser k+1 pois os vetores comecam na posicao 1, e o k inicaliza se a 0); | ||
fprintf(1,'P(%d sucessos em %d lancamentos e: %.4f\n',k,n, prob(k+1)); | ||
end | ||
figure(1) | ||
stem(prob) | ||
|
||
n = 40; | ||
|
||
for k = 0 : n | ||
prob1(k+1) = calcP(p,n,k,N); | ||
fprintf(1,'P(%d sucessos em %d lancamentos e: %.4f\n',k,n, prob1(k+1)); | ||
end | ||
figure(2) | ||
stem(prob1) | ||
|
||
n = 100; | ||
|
||
for k = 0 : n | ||
prob2(k+1) = calcP(p,n,k,N); | ||
fprintf(1,'P(%d sucessos em %d lancamentos e: %.4f\n',k,n, prob2(k+1)); | ||
end | ||
figure(3) | ||
stem(prob2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
n = 5; | ||
p = 0.3; | ||
k = 3; | ||
N = 1e5; | ||
|
||
fprintf(1, 'ALINEA A)') | ||
% Probablidade de Simulação | ||
pecas = rand(n,N) < p; | ||
defeitos= sum(pecas)==k; | ||
probSim = sum(defeitos)/N | ||
|
||
% Probabilidade Teórica | ||
probT = factorial(n)/ ( factorial(n-k)*factorial(k))*p^k*(1-p)^(n-k) | ||
|
||
|
||
% ALINEA B | ||
fprintf(1, '\n\nALINEA B)\n') | ||
n = 5; | ||
p = 0.3; | ||
k = 2; | ||
N = 1e5; | ||
% Probablidade de Simulação | ||
lancamentos = rand(n,N) < p; | ||
sucessos= sum(lancamentos)<=k; | ||
probSim = sum(sucessos)/N | ||
|
||
% Probabilidade Teórica | ||
probT = 0; | ||
for k = 0: 2 | ||
probT = probT + factorial(n)/ ( factorial(n-k)*factorial(k))*p^k*(1-p)^(n-k); | ||
end | ||
probT | ||
|
||
|
||
% ALINEA C | ||
fprintf(1, '\n\nALINEA B)\n') | ||
n = 5; | ||
p = 0.3; | ||
k = 2; | ||
N = 1e5; | ||
% Probablidade de Simulação | ||
|
||
for k = 0 : n | ||
prob(k+1) = calcP(p,n,k,N); | ||
fprintf(1,'P(%d peças defeituosas em %d peças e: %.4f\n',k,n, prob(k+1)); | ||
end | ||
figure(1); | ||
bar(1:6,prob, 'b') | ||
|
||
figure(2); | ||
hist(prob,5) |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
function [p1,p2] = dardos(n,m, N) | ||
% temos n dardos, m alvos e N repeticoes da experienca | ||
% funcao que calcula 2 probs: | ||
% -> p1: prob de nenhum alvo ter sido atingido mais do que uma vez | ||
% -> p2: prob de pelo menos 1 alvo ter sido atingido 2 (ou mais) vezes | ||
|
||
alvos = randi([1 m],n,N); | ||
sucessos = 0; | ||
for i=1:N | ||
if length(unique(alvos(:,i))) == n | ||
sucessos = sucessos + 1; | ||
end | ||
end | ||
p1 = sucessos/N; | ||
p2 = 1 - p1; | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
N = 1e5; % numero de experiencias realizadas | ||
n = 2; % numero de filhos | ||
p = 0.5; % probabilidade de nascer rapaz (ou rapariga) | ||
k = 1; % "ter pelo menos um filho" | ||
|
||
% Probabilidade de Simulação | ||
filhos = rand(n, N) < p; % 1 -> filho ; 0 -> filha | ||
sucessos = sum(filhos) >= k; | ||
probSim = sum(sucessos)/N | ||
|
||
% Probabilidade Teórica | ||
probT = 0; | ||
for k = 1 : n | ||
probT = probT + (factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k)); | ||
end | ||
probT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
% Seja A: "ter 2 filhos rapazes" e b: "ter um filho rapaz" | ||
% p(A|B) = p(AB)/p(B) | ||
|
||
% para calcular p (AB) é estimar a situação de que os 2 filhos sao rapazes | ||
% para calcular p(B) é estimar a situação de que pelo menos um filho é | ||
% rapaz | ||
|
||
N = 1e5; % numero de experiencias realizadas | ||
n = 2; % numero de filhos | ||
p = 0.5; % probabilidade de nascer rapaz (ou rapariga) | ||
k = 1; % "ter pelo menos um filho" | ||
|
||
% Probabilidade de Simulação | ||
% p(AB) -> | ||
filhos = rand(n, N) < p; | ||
sucessos = sum(filhos) == n; | ||
probSim = sum(sucessos)/N; | ||
|
||
% p(B) -> | ||
sucessos1 = sum(filhos) >= k; | ||
probSim1 = sum(sucessos1)/N; | ||
|
||
probSimFinal = probSim/probSim1 | ||
|
||
% Probabilidade Teórica | ||
probB =0; | ||
for k = 1 : 2 | ||
probB = probB + factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k); | ||
end | ||
probAB = factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k); | ||
probT = probAB / probB |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
N = 1e5; % numero de experiencias realizadas | ||
n = 2; % numero de filhos | ||
p = 0.5; % probabilidade de nascer rapaz (ou rapariga) | ||
k = 1; % "ter pelo menos um filho" | ||
|
||
% Pobabilidade de Similução | ||
|
||
% Seja A: "ter 2º filho rapaz" e B: "o 1º filho ser rapaz" | ||
% p(A|B) = p(AB)/p(B) | ||
filhos = rand(n, N) < p; | ||
% p(AB) --> | ||
ind_1 = find(filhos(1,:)==1); % numB | ||
sucessos = sum(filhos(:,ind_1)) == n; %numAB | ||
numAB = sum(sucessos); | ||
% p(B) --> | ||
numB = sum(sum(filhos(1,:)==1)); | ||
% prob final | ||
probSim = numAB/numB |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
% Seja A: "ter 2 filhos rapazes" e b: "ter um filho rapaz" | ||
% p(A|B) = p(AB)/p(B) | ||
|
||
% para calcular p (AB) é estimar a situação de que os 2 filhos sao rapazes | ||
% para calcular p(B) é estimar a situação de que pelo menos um filho é | ||
% rapaz | ||
|
||
N = 1e5; % numero de experiencias realizadas | ||
n = 5; % numero de filhos | ||
p = 0.5; % probabilidade de nascer rapaz (ou rapariga) | ||
k = 1; % "ter pelo menos um filho" | ||
|
||
% Probabilidade de Simulação | ||
% p(AB) -> | ||
filhos = rand(n, N) < p; | ||
sucessos = sum(filhos) == 2; | ||
probSim = sum(sucessos)/N; | ||
% p(B) -> | ||
sucessos1 = sum(filhos) >= k; | ||
probSim1 = sum(sucessos1)/N; | ||
|
||
probSimFinal = probSim/probSim1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
% Seja A: "ter pelo menos 3 filhos rapazes" e b: "ter um filho rapaz" | ||
% p(A|B) = p(AB)/p(B) | ||
|
||
% para calcular p (AB) é estimar a situação de que os 2 filhos sao rapazes | ||
% para calcular p(B) é estimar a situação de que pelo menos um filho é | ||
% rapaz | ||
|
||
N = 1e5; % numero de experiencias realizadas | ||
n = 5; % numero de filhos | ||
p = 0.5; % probabilidade de nascer rapaz (ou rapariga) | ||
k = 1; % "ter pelo menos um filho" | ||
|
||
% Probabilidade de Simulação | ||
% p(AB) -> | ||
filhos = rand(n, N) < p; | ||
sucessos = sum(filhos) >= 2; | ||
probSim = sum(sucessos)/N; | ||
% p(B) -> | ||
sucessos1 = sum(filhos) >= k; | ||
probSim1 = sum(sucessos1)/N; | ||
|
||
probSimFinal = probSim/probSim1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
N = 1e5; | ||
n = 10; | ||
k = 10; | ||
p = 0.5; | ||
|
||
% Probabilidade de Simulação | ||
lancamentos = rand(n, N) < p; | ||
sucessos = sum(lancamentos) == k; | ||
probSim = sum(sucessos)/N | ||
|
||
% Probabilidade Teórica | ||
probT = factorial(n)/ (factorial(n-k)*factorial(k)) * p^k*(1-p)^(n-k) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
N = 1e7; | ||
n = 11; | ||
k = 10; | ||
p = 0.5; | ||
|
||
% Probabilidade de Simulação | ||
% sabendo que nos primeiros 10 lancamentos saiu cara qual a prob de sair | ||
% cara no 11º | ||
lancamentos = rand(n, N) < p; | ||
% b -> nos primeiros 10 lancamentos saiu cara | ||
sum_b = sum(sum(lancamentos(1:10,:))==10); | ||
|
||
% ab -> sair cara nos 11 lancamentos | ||
sum_ab = sum(sum(lancamentos) ==11); | ||
|
||
probSimFinal = sum_ab/sum_b | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
N = 5e7; | ||
pC = 0.0001; | ||
pMC = 0.9; | ||
pMNC = 0.1; | ||
|
||
% simulação da populacao portuguesa feminina | ||
casosCancro = rand(1, N) < pC; | ||
cancroPos = sum(casosCancro == 1); | ||
pA = sum(cancroPos)/N; | ||
|
||
% simulação da sitacao mamograma postivo se cancro | ||
mamPosCanc = rand(1, N) < pMC; | ||
sucessos1 = sum(mamPosCanc == 1); | ||
pB_A = sum(sucessos1)/N; | ||
|
||
% simulação da sitacao mamograma postivo se NAO cancro | ||
mamPosNaoCanc = rand(1, N) < pMNC; | ||
sucessos2 = sum(mamPosNaoCanc == 1); | ||
pB_nA = sum(sucessos2)/N; | ||
|
||
pAB = pB_A * pA; | ||
pB = pB_A*pA + pB_nA*(1-pA); | ||
pA_B = pAB/pB | ||
|
Oops, something went wrong.