...
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
| function retur = karakterer(poengsummer)
retur = blanks(length(poengsummer));
for i = 1:length(retur)
poeng = poengsummer(i);
if poeng >= 89
retur(i) = 'A';
elseif poeng >= 77
retur(i) = 'B';
elseif poeng >= 65
retur(i) = 'C';
elseif poeng >= 53
retur(i) = 'D';
elseif poeng >= 41
retur(i) = 'E';
else
retur(i) = 'F';
end
end
end |
|
Oppgave 5.2.3: Tittel
Utdelt kode
Videoforklaring (mm:ss)
Løsningsforslag
I en tidligere oppgave lagde du en funksjon som estimerte hva kvadratroten av et tall var, ved å bruke iterasjoner av Newtons metode. Du har nå lyst til å analysere hvordan estimatene utvikler seg. I stedet for å skrive ut estimatene, har du lyst til å returnere dem i en vektor. Oppdater funksjonen til å fungere slik i stedet.
Utdelt kode
Expand |
---|
|
Code Block |
---|
| function retur = kvadratrot(tall)
x = 1;
er_over_feilgrense = true;
i = 1;
while er_over_feilgrense
ny_x = x + (tall - x^2)/(2*x);
fprintf('Iterasjon #%d: x_%d = %.10f, x_%d = %.10f\n', i, i-1, x, i, ny_x);
relativ_endring = abs(ny_x - x)/x;
er_over_feilgrense = relativ_endring >= 1e-9;
x = ny_x;
i = i + 1;
end
retur = x;
end |
|
Videoforklaring (mm:ss)
Del 1 (mm:ss) | Del 2 (mm:ss) | Del 3 (mm:ss) |
---|
| | |
Løsningsforslag
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
| function retur = kvadratrot(tall)
x = 1;
er_over_feilgrense = true;
i = 1;
N = 4;
retur = zeros(1, N);
retur(1) = x;
while er_over_feilgrense
ny_x = x + (tall - x^2)/(2*x);
relativ_endring = abs(ny_x - x)/x;
er_over_feilgrense = relativ_endring >= 1e-9;
x = ny_x;
i = i + 1;
if i > N
N = 2*N;
retur(N) = 0;
end
retur(i) = x;
end
retur = retur(1:i);
end |
|
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
|
Oppgave 5.2.4: Tittel
Utdelt kode
...