...
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 (
...
12:
...
06)
Del 1 (57:3418) | Del 2 (54:20)48) |
---|
Widget Connector |
---|
url | https://www.youtube.com/watch?v=LH_z3A7_gyI |
---|
|
| Widget Connector |
---|
url | https://www.youtube.com/watch?v=d3vJlh5Cx9Y |
---|
|
| | |
Oppgaveintroduksjon, og problemoppdeling.skriving av funksjon som bruker funksjonsvariabler. | Bruk av generisk funksjon vha anonyme funksjoner og andre funksjonsvariabler.Hvordan generere en tilfeldig kupong. |
Løsningsforslag
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 = truex - f(x)/df(x);
end
end | Code Block |
---|
title | lag_kupong_histogram.m |
---|
| treff relativ_endring = zeros(1, 10000);
for i = 1:10000abs(ny_x - x)/abs(x);
er_over_feilgrense = relativ_endring >= 1e-9;
kupong x = lag_tilfeldig_kupong()ny_x;
fasiti = lag_tilfeldig_kupong();
i + 1;
if i > N
[~, ~, antall_treff] N = analyser_tippekupong(kupong, fasit)2*N;
retur(N) = 0;
treff 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'); |
|