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 (85:1434)Del 2 (45:2920)Del 3 (83:1452)Del 4 (124:1136)
Widget Connector
urlhttps://www.youtube.com/watch?v=3CppbuUFATkjWxy7lbPwrA
Widget Connector
urlhttps://www.youtube.com/watch?v=3dJdp9RsOaMgpsk3YkOqxM
Widget Connector
urlhttps://www.youtube.com/watch?v=-gYxcc5CavQwDk6tKPTgiU
Widget Connector
urlhttps://www.youtube.com/watch?v=SnCna-Ih-MEaR4EjtZ66JE
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.

Introduksjon av problemet, om retur av flere parametre,
og konstruksjon av funksjonens ytre.
Problemoppdeling, bruk av lokale funksjoner/hjelpefunksjoner til å
gjenspeile dette, og løsning av hovedfunksjonen.
 Kode for å avgjøre om en kupong er gyldig eller ikke.

Kode for å avgjøre på hvilke rader en kupong treffer en fasit, og test av
hele funksjonen. 


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');