Formler, teknikker og begreper du trenger til eksamen.
KompetansemålPython i R1: bestem hva et program skriver ut, og bruk numeriske metoder som halveringsmetoden, numerisk derivert og søk etter ekstremum.
Les og bestem utskriften
Gå gjennom koden linje for linje og hold styr på verdiene i variablene. En løkke kjører koden inni seg om og om igjen.s = 0
for i in range(1, 5):
s = s + i
print(s) gir tallene (stopptallet er ikke med). Programmet legger sammen , så utskriften er .
Halveringsmetoden (finn nullpunkt)
Har ulikt fortegn i og , ligger det et nullpunkt mellom dem. Halver intervallet gjentatte ganger og behold halvdelen der fortegnet skifter.def f(x):
return x**2 - 2
a = 0
b = 2
while b - a > 1e-6:
m = (a + b) / 2
if f(a) * f(m) < 0:
b = m
else:
a = m
print((a + b) / 2)Programmet finner nullpunktet til , altså . Løkka stopper når intervallet er smalere enn toleransen .
Numerisk derivert
Når du ikke vil derivere for hånd, tilnærmer du den deriverte med en liten :
def f(x): return x**3 h = 1e-6 x = 2 derivert = (f(x + h) - f(x - h)) / (2 * h) print(derivert)Programmet gir omtrent , som stemmer med og .
def f(x): return x**3 h = 1e-6 x = 2 derivert = (f(x + h) - f(x - h)) / (2 * h) print(derivert)Programmet gir omtrent , som stemmer med og .
Søk etter ekstremum
For å finne et toppunkt numerisk kan du gå i små steg over et intervall og huske den største verdien du har sett.def f(x):
return -x**2 + 4*x
beste_x = 0
beste_y = f(0)
x = 0
while x <= 4:
if f(x) > beste_y:
beste_y = f(x)
beste_x = x
x = x + 0.001
print(beste_x, beste_y)Programmet finner maksimum nær med verdien , som stemmer med at gir .
Eksempel