You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Kodeforståelsesoppgaver

Oppgave 5.1.1: Vektoriserte funksjoner

Funksjonen under regner ut omkretsen av en sirkel. Er den vektorisert?

f.m
function y = f(x)
    y = 2 * pi * x;
end

Videoforklaring (5:07)

Svar

Ja, funksjonen lar oss regne ut en mengde omkretser på en gang ved å utnytte Matlabs innebygde operasjoner.

Oppgave 5.1.2: Vektoriserte funksjoner

Funksjonen under regner ut arealet av en sirkel. Er den vektorisert? Hvordan kan den eventuelt vektoriseres?

g.m
function y = g(x)
    y = pi * x ^ 2;
end 

Videoforklaring (3:54)

Svar

 Nei, for funksjonen lar oss ikke regne ut svar for hele vektorer av gangen. Den kunne blitt vektorisert med bruk av elementvis opphøyd-i.

Oppgave 5.1.3: Vektoriserte funksjoner 

Funksjonen under regner ut verdien som tilsvarer et romersiffer. Er den vektorisert? Hvordan kan den eventuelt vektoriseres?

fra_romersiffer.m
function retur = fra_romersiffer(siffer)
    switch siffer
        case 'I', retur = 1;
        case 'V', retur = 5;
        case 'X', retur = 10;
        case 'L', retur = 50;
        case 'C', retur = 100;
        case 'D', retur = 500;
        case 'M', retur = 1000;
    end
end

Videoforklaring (mm:ss)

Svar

 Den er ikke vektorisert, for den bruker ikke Matlabs innebygde operasjoner eller funksjoner og den kan heller ikke regne ut resultat for en hel vektor av verdier av gangen. Det er generelt vanskelig å vektorisere kode som trenger å bruke switch-setninger, siden de gjerne har mye sprikende oppførsel som det er vanskelig å uttrykke med én eller et lite knippe innebygde funksjoner og operasjoner. Det finnes en måte å gjøre det på her (se utdelt kode i oppgave 5.2.6), men generelt er det beste vi kan gjøre å lage en "liksom-vektorisert"-funksjon vha en for-løkke som behandler ett og ett element i parameteren. Ved å gjøre dette, kan kode som bruker funksjonen fortsatt skrives vektorisert.

Oppgave 5.1.4: Tittel

Oppgavetekst

 

Videoforklaring (mm:ss)

Svar

 

Oppgave 5.1.5: Tittel

Oppgavetekst

 

Videoforklaring (mm:ss)

Svar

 

Oppgave 5.1.6: Tittel

Oppgavetekst

 

Videoforklaring (mm:ss)

Svar

 

Oppgave x.y.z: Tittel

Oppgavetekst

 

Videoforklaring (mm:ss)

Svar

 

Kodeoppgaver

Oppgave 5.2.1: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave 5.2.2: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave 5.2.3: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave 5.2.4: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave 5.2.5: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave 5.2.6: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave x.y.z: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

  • No labels