...
Lag et script som genererer 10000 tilfeldige tippekuponger og resultat, for hver av dem regner ut hvor mange korrekte gjetninger det var i kupongen, og som til slutt lager et histogram som viser fordelingen av antall korrekte resultat i tippekupongene.
Utdelt kode
Expand |
---|
|
Code Block |
---|
| function retur = kvadratrot(tall)
x = 1;
er_over_feilgrense = true;
i = 1;
N = 4;
retur = zeros(1, N);
retur(1) = x;
while er_over_feilgrense
ny_x = x + (tall - x^2)/(2*x);
relativ_endring = abs(ny_x - x)/x;
er_over_feilgrense = relativ_endring >= 1e-9;
x = ny_x;
i = i + 1;
if i > N
N = 2*N;
retur(N) = 0;
end
retur(i) = x;
end
retur = retur(1:i);
end |
|
Videoforklaring (
...
mm:
...
ss)
Del 1 (5mm:34ss) | Del 2 (5mm:20ss) |
---|
| |
Oppgaveintroduksjon, og problemoppdeling.skriving av | Hvordan generere en tilfeldig kupong. |
...
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
title | lagfinn_tilfeldig_kupongnullpunkt.m |
---|
| function retur = lagfinn_tilfeldig_kupong(nullpunkt(f, df)
returx = false(12, 3)1;
er_over_feilgrense = true;
for i = 1:12;
N = 4;
tilfeldig_kolonneretur = randi(3);
zeros(1, N);
retur(1) = x;
while er_over_feilgrense
retur(i, tilfeldigny_kolonne)x = true x - f(x)/df(x);
end
end | Code Block |
---|
title | lag_kupong_histogram.m |
---|
| treff relativ_endring = zeros(1, 10000);
for i = 1:10000
abs(ny_x - x)/abs(x);
er_over_feilgrense = relativ_endring >= 1e-9;
kupongx = lag_tilfeldig_kupong()ny_x;
fasit i = lag_tilfeldig_kupong() i + 1;
[~, ~, antall_treff] = analyser_tippekupong(kupong, fasit);
treff if i > N
N = 2*N;
retur(N) = 0;
end
retur(i) = antall_treffx;
end
retur = retur(1:i);
end |
Code Block |
---|
| function retur = kvadratrot(tall)
f = @(x) tall - x^2;
df = @(x) -2*x;
estimat = finn_nullpunkt(f, df);
retur = estimat(end);
end histogram(treff);
% Man kan lage et histogram hvor y-aksen er prosentandel og ikke antall ved å kalle histogram slik:
% histogram(treff, 'Normalization', 'probability'); |
|