Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Expand
titleanalyser_tippekupong.m
Code Block
titleanalyser_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 (mm5:ss34)Del 2 (mm5:ss20)Del 3 (mm3:ss52)Del 4 (mm4:ss36)
Widget Connector
urlhttps://www.youtube.com/watch?v=jWxy7lbPwrA
Widget Connector
urlhttps://www.youtube.com/watch?v=gpsk3YkOqxM
 
Widget Connector
urlhttps://www.youtube.com/watch?v=wDk6tKPTgiU
Widget Connector
urlhttps://www.youtube.com/watch?v=aR4EjtZ66JE
 
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

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titlelag_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
Code Block
titlelag_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');