Created by Unknown User (benjambj), last modified on 05.10.2016
.Du lager et program for å håndtere tippingkuponger for fotballresultat. Du har tidligere laget en funksjon som analyserer en tippekupong. Du ønsker nå å bruke funksjonen til å få en oversikt over vinneroddsen i fotballtipping.
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
analyser_tippekupong.m
function [ er_gyldig, treff, antall_treff ] = analyser_tippekupong(gjetninger, fasit)
er_gyldig = er_kupong_gyldig(gjetninger);
treff = finn_treff(gjetninger, fasit);
antall_treff = length(treff);
end
function retur = er_kupong_gyldig(kupong)
antall_kryss_per_rad = sum(kupong, 2);
er_rad_gyldig = antall_kryss_per_rad == 1;
retur = all(er_rad_gyldig);
end
function retur = finn_treff(kupong, fasit)
retur = all(sum(kupong, 2) == 1);
end
Videoforklaring (19:22)
Del 1 (5:34)
Del 2 (5:20)
Del 3 (3:52)
Del 4 (4:36)
Oppgaveintroduksjon, og problemoppdeling.
Hvordan generere en tilfeldig kupong.
Gjenbruk av funksjon fra oppgave 6.2.2, og bruk av for-løkke til å samle 10000 resultat.
Plotting av histogram, både med antall og prosentandel langs y-aksen.
Løsningsforslag
lag_tilfeldig_kupong.m
function retur = lag_tilfeldig_kupong()
retur = false(12, 3);
for i = 1:12
tilfeldig_kolonne = randi(3);
retur(i, tilfeldig_kolonne) = true;
end
end
lag_kupong_histogram.m
treff = zeros(1, 10000);
for i = 1:10000
kupong = lag_tilfeldig_kupong();
fasit = lag_tilfeldig_kupong();
[~, ~, antall_treff] = analyser_tippekupong(kupong, fasit);
treff(i) = antall_treff;
end
histogram(treff);
% Man kan lage et histogram hvor y-aksen er prosentandel og ikke antall ved å kalle histogram slik:
% histogram(treff, 'Normalization', 'probability');