Versions Compared

Key

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

Include Page
ITGK - Matlab - Meny
ITGK - Matlab - Meny

Kodeforståelsesoppgaver (total videotid: 57:11)

OppgaveVideotidBeskrivelseVanskelighetsgrad
Oppgave 2.1.1: Matriser og vektorer

...

Hva skrives ut hvis vi kjører det følgende scriptet?

...

titleoppgave_1.m

...

...

8:15

...

Widget Connector
urlhttps://www.youtube.com/watch?v=cVha17mZ_KE

Svar

...

titleHvis du har prøvd selv, trykk her for å se svaret...

...

Opprettelse av matriser og vektorer i Matlab, og tolkning av dimensjoner.Lett

...

Hvilken verdi har M etter at vi kjører dette scriptet?

...

titleoppgave_2.m

...

10

...

:

...

57

...

Widget Connector
urlhttps://www.youtube.com/watch?v=mcobItbGRVo

Svar

...

titleHvis du har prøvd selv, trykk her for å se svaret...

...

Hvordan bruk av tall som indeksuttrykk kan tolkes og brukes i Matlab.Middels
Oppgave 2.1.3: Logisk indeksering

Hva skrives ut hvis vi kjører det følgende scriptet?

Code Block
titleoppgave_3.m
x = 1:5
x([true,false, true, false, true])
x(true)
x > 3
x(ans)
mod(x,2)
mod(x,2) == 0
x < 2 | x >= 4 & mod(x, 2) == 0
x(x < 2 | x >= 4 & mod(x, 2) == 0)
14:44

...

Widget Connector
urlhttps://www.youtube.com/watch?v=j7YPR5CcpsY

Svar

...

titleHvis du har prøvd selv, trykk her for å se svaret...

...

Hvordan bruk av logiske indeksuttrykk kan tolkes og brukes i MatlabMiddels

...

...

...

Hva skrives ut hvis vi kjører det følgende scriptet?

Code Block
titleoppgave_4.m
1 + 1
true + true
0 + 0
false + false

x = 1:5
x([true, true, true, true, true])
x([1, 1, 1, 1, 1])
x([false, false, false, false, false])
x([0, 0, 0, 0, 0])

Videoforklaring (7:53)

Widget Connector
urlhttps://www.youtube.com/watch?v=wLjUza6dF60

Svar

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
ans =
     2
ans =
     2
ans =
     0
ans =
     0
x =
     1     2     3     4     5
ans =
     1     2     3     4     5
ans =
     1     1     1     1     1
ans =
   Empty matrix: 1-by-0
Subscript indices must either be real positive integers or logicals.
Error in oppgave_4 (line 10)
x([0, 0, 0, 0, 0]) 

...

\17:;53Hvordan true/false er likt og forskjellig fra 0/1 i Matlab.Lett

...

Hva skrives ut hvis vi kjører det følgende scriptet?

...

...

alfabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', ...
           'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
disp(alfabet([13, 1, 20, 12, 1, 2, 5, 18, 11, 10, 5, 13, 16, 5, 11, 21, 12, 20]));
4:20

...

Widget Connector
urlhttps://www.youtube.com/watch?v=pldkXIKA90U

Svar

...

titleHvis du har prøvd selv, trykk her for å se svaret...
Eksempeloppgave om posisjonsindeksering.Middels

...

...

Hva skrives ut hvis vi kjører det følgende scriptet?

...

titleoppgave_6.m

...

...

11:02

...

Hvordan matriseoperasjoner og elementvise operasjoner er forskjellige fra hverandre.Middels

...

Widget Connector
urlhttps://www.youtube.com/watch?v=BeeqqpVOC9c

Svar

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
 

Kodeoppgaver (total videotid: 1:13:43)

OppgaveVideotidBeskrivelseVanskelighetsgrad
Oppgave 2.2.1: Matrise

...

Vi skal lage et program for å ta vare på rundetidene i et skøyteløp, og analysere de etterpå. Vi har fått oppgitt følgende eksempeldata til bruk under utvikling.

Image Removed

...

...

...

...

5:45

...

Widget Connector
urlhttps://www.youtube.com/watch?v=9pBNIZZm7EQ

Løsningsforslag

...

titleHvis du har prøvd selv, trykk her for å se svaret...

...

titleopprett_rundetider.m

...

Hvordan matriser kan passe til å lagre data vi bruker i et program.Lett
Oppgave 2.2.2: Posisjonsindeksering

...

Vi ønsker å  kunne få statistikk for løpet til en spesifikk utøver. Lag en funksjon som lar brukeren skrive inn et utøvernummer, og som skriver ut alle rundetidene til den utøveren. Skriv også ut den raskeste rundetiden til den utøveren.

Utdelt kode

...

...

Widget Connector
urlhttps://www.youtube.com/watch?v=3Hcoon0nLwU

Løsningsforslag

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titleskriv_ut_loeperstat.m
function skriv_ut_loeperstat(rundetider)
    loepernr = input('Skriv inn løpernummer: ');
    loepertider = rundetider(loepernr, :);
    disp(loepertider);
    disp(min(loepertider));
end
10:56

...

Bruk av posisjonsindeksering til å besvare spørsmål om innholdet i rader i en matrise.Lett

Vi ønsker å kunne sammenlikne løpet til to utøvere. Lag en funksjon som lar brukeren skrive inn to utøvernummer, og som skriver ut rundenumrene og rundetidene der den første utøveren var raskere enn den andre.

Utdelt kode

Script for å lage testdata: opprett_rundetider.m

...

Widget Connector
urlhttps://www.youtube.com/watch?v=t066qypOPgc

Løsningsforslag

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titlesammenlikn_loepere.m
function sammenlikn_loepere(rundetider)
    loeper1 = input('Skriv inn nummeret til første løper: ');
    loeper2 = input('Skriv inn nummeret til andre løper: ');
    
    loepertid1 = rundetider(loeper1, :);
    loepertid2 = rundetider(loeper2, :);
 
    er_raskere = loepertid1 < loepertid2;
    raskeste_tider = loepertid1(er_raskere);
    disp(raskeste_tider),
 
    raskeste_rundenr = find(er_raskere);
    disp(raskeste_rundenr);
end
12:31

...

Bruk av logisk indeksering til å løse oppgave hvor man trenger element fra en matrise basert på en logisk betingelse.Lett

...

Vi ønsker å kunne analysere resultatene i en bestemt runde. Lag en funksjon som ber brukeren skrive inn et rundenummer, og som skriver ut den rundens rundetider hvor tiden var høyere enn gjennomsnittet i den runden.

Utdelt kode

...

...

7:25

...

Widget Connector
urlhttps://www.youtube.com/watch?v=wXhwyUxQffQ

Løsningsforslag

...

titleHvis du har prøvd selv, trykk her for å se svaret...

...

titleskriv_ut_tider_over_rundesnitt
Sammensatt indekseringsoppgave.Middels

...

...

Utdelt kode

Script for å lage testdata: opprett_rundetider.m

...

Widget Connector
urlhttps://www.youtube.com/watch?v=8QJJhopqZAo

Løsningsforslag

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titleskriv_ut_vinner.m
function skriv_ut_vinner(rundetider)
    totaltider = sum(rundetider, 2);
    disp(find(totaltider == min(totaltider)));
end
12:42

...

Hvordan innebygde funksjoner kan brukes til å regne med matriser i Matlab.Middels

I tippingsspillet Extra leverer spillere et 5 x 5-brett med unike tall mellom 1 og 75. Det trekkes så 47 unike tall mellom 1 og 75. Man kan vinne en premie med tre forskjellige kriterier:

  1. Hvis man fyller det innerste 9x9-området av brettet, kalt bilde.
  2. Hvis man fyller ytterkanten av brettet, kalt ramme.
  3. Hvis man fyller hele brettet.

Et eksempelbrett er avbildet under.

Image Removed

Vi skal lage en simulator av dette spillet i Matlab, for å analysere våre vinnersjanser. Vi har funnet ut at vi kan representere et resultat-brett som en 5x5 matrise med logiske verdier, hvor en posisjon har verdien true hvis det tilsvarende Extra-brettet hadde en verdi der som ble trukket og false ellers.

Lag en funksjon som tar inn et slikt Extra-brett, og som returnerer true hvis brettet er et vinnerbrett og false hvis det ikke er det.

...

Del 1 (8:35)Del 2 (6:38)Del 3 (6:40)Del 4 (2:31)
Widget Connector
urlhttps://www.youtube.com/watch?v=sAp6myK9NOQ
Widget Connector
urlhttps://www.youtube.com/watch?v=_DtIm4Ic4L0
Widget Connector
urlhttps://www.youtube.com/watch?v=cxcUcjXlyj4
Widget Connector
urlhttps://www.youtube.com/watch?v=yMKretVpSsE

 

Utdelt kode

Dette scriptet lager noen variabler som inneholder eksempelbrett man kan teste løsningen sin med.

opprett_testbrett.m

Løsningsforslag

...

titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titleer_vinnerbrett.m
function retur = er_vinnerbrett(brett)
    retur = har_fylt_bilde(brett) || har_fylt_ramme(brett);
end
Code Block
titlehar_fylt_bilde.m
 function retur = har_fylt_bilde(brett)
    bilde = brett(2:4, 2:4);
    kol_har_bare_true = all(bilde);
    retur = all(kol_har_bare_true);
end
24:24Større og vanskelig problemløsningsoppgave.Vanskelig

Alle oppgavene på en side

Oppgavevideoer uke 37 - alle oppgaver

...

titlehar_fylt_ramme.m

...