Include Page |
---|
| ITGK - Matlab - Meny |
---|
| ITGK - Matlab - Meny |
---|
|
Kodeforståelsesoppgaver (total videotid: 33:13)
Kodeoppgaver (total videotid: 54:54)
Kodeforståelsesoppgaver
Oppgave 4.1.1: Fprintf datatyper
Hva skrives ut hvis vi kjører dette scriptet?
Code Block |
---|
language | none |
---|
title | oppgave_1.m |
---|
|
fprintf('Heltallet er %d\n', 1);
fprintf('Desimaltallet er %f\n', 2.5);
fprintf('Bokstaven er %c\n', 'a');
fprintf('Strengen er %s\n', 'hei');
fprintf('%d\n', 'a');
fprintf('%c\n', 97);
fprintf('\nHan sa:\n\t''Vi må gi 100 %%!''\n'); |
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
Heltallet er 1
Desimaltallet er 2.500000
Bokstaven er a
Strengen er hei
97
a
Han sa:
'Vi må gi 100 %!' |
|
Oppgave 4.1.2: Fprintf utskriftsformattering
Hva skrives ut hvis vi kjører dette scriptet?
Code Block |
---|
|
fprintf('%3d,', 1);
fprintf('%03d,', 1);
fprintf('%-3d,', 1);
fprintf('%-03d!\n', 1);
fprintf('%.2f,', 2.524);
fprintf('%6.2f,', 2.524);
fprintf('%06.2f,', 2.524);
fprintf('%-6.2f,', 2.524);
fprintf('%-06.2f!\n', 2.524);
fprintf('%5s,', 'hei');
fprintf('%05s,', 'hei');
fprintf('%-5s,', 'hei');
fprintf('%-05s!\n', 'hei'); |
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
1,001,1 ,1 !
2.52, 2.52,002.52,2.52 ,2.52 !
hei,00hei,hei ,hei00! |
|
Oppgave 4.1.3: Tittel
Oppgavetekst
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Oppgave 4.1.4: Tittel
Oppgavetekst
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Oppgave 4.1.5: Tittel
Oppgavetekst
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Oppgave 4.1.6: Tittel
Oppgavetekst
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Oppgave x.y.z: Tittel
Oppgavetekst
Videoforklaring (mm:ss)
Svar
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Kodeoppgaver
Oppgave 4.2.1: Penere Fahrenheit-utskrift
Fahrenheit-oversikten forteller oss ikke hvilken Celsius verdi de utskrevne Fahrenheit-verdiene tilsvarer. Utvid scriptet til å skrive ut en mer informativ linje som forklarer hvilken Celsius-verdi Fahrenheit-verdien tilsvarer.
Utdelt kode
fahrenheit.m
Videoforklaring (mm:ss)
Løsningsforslag
...
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
Code Block |
---|
|
svar = input('Ønsker du å skrive inn egne Celsius-verdier? (ja/nei) ', 's');
if strcmp(svar, 'ja')
antall = input('Hvor mange verdier? ');
for i = 1:antall
celsius = input('Skriv inn Celsius-verdi: ');
skriv_ut_fahr(celsius);
end
else
skriv_ut_fahr(-20);
skriv_ut_fahr(0);
skriv_ut_fahr(18);
skriv_ut_fahr(37);
skriv_ut_fahr(100);
end |
Code Block |
---|
|
function skriv_ut_fahr(celsius)
fahr = cels2fahr(celsius);
fprintf('Celsiusverdi %.2f tilsvarer Fahrenheitverdi %.2f\n', celsius, fahr);
end |
...
...
Du stoler ikke på at Matlabs innebygde funksjon sqrt
er effektiv nok, og har funnet ut at du vil lage din egen. Du har innsett at siden , blir det å finne kvadratroten til et tall det samme som å finne nullpunktet til funksjonen . Du har lært en metode for å finne nullpunkt, kalt Newtons metode, som fungerer slik:
Velg et første estimat for nullpunkt, , for funksjonen .
Regn ut videre estimat for nullpunkt med formelen
(I vårt tilfelle er ).
Lag en funksjon som estimerer roten til et tall. Bruk 20 iterasjoner av Newtons metode, og . Sammenlign estimatene for kvadratroten av 4, 97 og 1e18 med estimatene fra sqrt
.
Videoforklaring (mm:ss)
Løsningsforslag
...
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
...
...
...
...
Du har nettopp laget en funksjon som estimerer kvadratroten til et tall, ved hjelp av 20 iterasjoner av Newtons metode. Du ønsker nå å vite hvordan utviklingen av estimatene er i hver iterasjon. Utvid funksjonen til å produsere utskrift som det følgende i hver iterasjon:
Utdelt kode
kvadratrot.m
Videoforklaring (mm:ss)
Løsningsforslag
...
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
...
...
| 7:25 | Bruk av fprintf for å få formatert utskrift. Bygger på funksjonen skrevet i video 4.2.2. | Lettt |
Oppgave 4.2.4: |
...
Utdelt kode
Videoforklaring (mm:ss)
Løsningsforslag
...
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
Trygg innlesing av tall fra bruker | 12:14 | Bruk av while-løkker for kjøring av kode så lenge en betingelse er sann, samt bruk av fprintf for å skrive informative feilmeldinger. Ulemper med å bruke funksjonen input med bare én parameter, og funksjonen str2num , diskuteres også. | Middels |
...
...
Utdelt kode
Videoforklaring (mm:ss)
Løsningsforslag
...
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
...
...
Utdelt kode
Videoforklaring (mm:ss)
Løsningsforslag
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Oppgave x.y.z: Tittel
Utdelt kode
Videoforklaring (mm:ss)
Løsningsforslag
...
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
Alle oppgavene på en side
Oppgavevideoer uke 39 - alle oppgaver
...