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

Compare with Current View Page History

« Previous Version 15 Next »

Kodeforståelsesoppgaver (total videotid: 39:54)

Oppgave 1.1.1: Hvordan løse kodeforståelsesoppgaver.

Hvilken verdi får x og y etter at vi kjører følgende script?

oppgave_1.m
x = 2;
y = x;
x = x + 3;

Videoforklaring (4:51)

Svar

x = 5

y = 2

Oppgave 1.1.2: Forskjellige typer utskrift til skjerm

Hva skrives ut når vi kjører følgende script?

oppgave_2.m
x = 2
disp(x + 2);
disp(x + 2)

Videoforklaring (4:42)

Svar

x =
     2
     4
     4

Oppgave 1.1.3: Tre typer uttrykk i Matlab

Hva skrives ut når vi kjører følgende script?

oppgave_3.m
x = 2;
2 + 2;
disp(ans + 1);
y = ans

Videoforklaring (8:27)

Svar

     5
y =
     4

Oppgave 1.1.4: Sammensatt oppgave om variabelbindinger og utskrift

Hva blir skrevet ut hvis vi kjører følgende script?

oppgave_4.m
radius = 3;
radius = radius + 2;
diameter = 2*radius
diameter+1;
disp(diameter + 2)
ans
ans + ans
ans

Videoforklaring (6:54)

Svar

diameter =
    10
    12
ans =
    11
ans =
    22
ans =
    22

Oppgave 1.1.5: Lokale variabler

Hva blir skrevet ut hvis vi kjører scriptet «oppgave_5.m»?

oppgave_5.m
x = 1;
y = 2;
z = 3;
f(z);
disp([x, y, z, ans]);
f.m
function y = f(x)
  z = x + x;
  y = z*z;
end

 

Videoforklaring (6:50)

Svar

     1     2     3    36

Oppgave 1.1.6: Retur fra funksjon og utskrift til skjerm

 

    1.  Hvilken verdi får variabelen z etter at vi kjører scriptet «oppgave_6.m»?

    2. Hva blir skrevet ut til skjerm?

    3. Hva er sammenhengen mellom utskriften til skjerm og retur av verdi fra g?

 

oppgave_6.m
y = 12;
z = g(y);
g.m
function y = g(x)
  y = x + x;
  z = x * x
  disp(z);
  fprintf('%d\n', z); 
end

 

Videoforklaring (8:10)

Svar

z =
    24
z =
   144
   144
144

Ingen sammenheng - begge deler oppstår ved kall av funksjonen g, men man kan få returverdi fra funksjonen fullstendig uten utskrift og vice versa.

Kodeoppgaver

Oppgave 1.2.1: Bruk av Matlab til å regne ut et uttrykk

Fahrenheit er et alternativ til Celsius som mål på temperatur. Man kan konvertere fra Celsius til Fahrenheit vha følgende formel:

Hvor mange grader Fahrenheit tilsvarer 20 grader Celsius? Bruk Matlab til å regne ut svaret.

Videoforklaring (4:41)

Løsningsforslag

Svaret er 68. Matlab-uttrykket som regner det ut er:

9/5 * 20 + 32

Oppgave 1.2.2: Bruk av Matlab til å regne ut flere uttrykk

For å få en intuitiv forståelse av hva en temperatur oppgitt i Fahrenheit betyr, har du laget følgende oversikt over hva temperaturer i Celsius betyr.


Bruk Matlab til å hjelpe deg lage en tilsvarende oversikt i Fahrenheit. Formelen er:

Videoforklaring (5:53)

Løsningsforslag

Oppgave 1.2.3: Rydd opp med funksjoner

Fahrenheit-scriptet fra oppgave 1.2.2 fungerer, men det er rotete. Rydd opp med funksjoner. 

Utdelt kode

Script fra oppgave 1.2.2

fahrenheit.m
9/5*-20+32
9/5*0+32
9/5*18+32
9/5*37+32
9/5*100+32


Videoforklaring (22:20)

Del 1 (7:23)Del 2 (4:46)Del 3 (6:05)Del 4 (4:06)


Løsningsforslag

fahrenheit.m
cels2fahr(-20)
cels2fahr(0)
cels2fahr(18)
cels2fahr(37)
cels2fahr(100)
cels2fahr.m
function retur = cels2fahr(celsius)
    retur = 9/5*celsius + 32;
end

Oppgave 1.2.4: Tittel

 

Utdelt kode

Videoforklaring (mm:ss)

Løsningsforslag

 

Oppgave 1.2.5: Funksjonstrening - innputt og parametere

Skriv en funksjon som lar brukeren skrive inn et tall, og som returnerer det dobbelte.

Videoforklaring (5:10)

Løsningsforslag

hent_dobbel.m
function retur = hent_dobbel()
    tall = input('Skriv inn et tall: ');
    retur = tall * 2;
end

Oppgave 1.2.6: Funksjonstrening - retur og utskrift

Skriv en funksjon som tar inn et tall, og som skriver ut det dobbelte.

Videoforklaring (6:28)

Løsningsforslag

skriv_ut_dobbel.m
function skriv_ut_dobbel(tall)
    disp(2*tall);
end
  • No labels