Workshop 2: Numeriske metoder#

Pensum til eksamen: Numeriske metoder

  1. Beskrive, forklare og implementere numeriske metoder for å finne nullpunkter (halveringsmetoden, Newtons metode), derivere (framover-, bakover- og sentraldifferanse) og integrere (rektangelmetoden - venstre, høyre og midt - og trapesmetoden).

  2. Utvide numeriske metoder med relevant feilhåndtering.

  3. Sammenlikne og analysere ulike numeriske metoder.

  4. Feilsøke og feilrette kode med numeriske metoder.

Oppgaver#

  1. Forklar forskjellen mellom numerisk og analytisk derivasjon.

  2. Hvorfor kan ikke dx i numerisk derivasjon være verken for liten for veldig stor?

  3. Finn \(f'(1)\) med numerisk derivasjon for \(f(x) = x^2 - 2lg\left(\frac{1}{x}\right) - 2\).

  4. Les fila temperatur.csv og bruk numerisk derivasjon til å derivere dataene. Plott den deriverte i samme koordinatsystemet som dataene. Hva forteller den deriverte kurven deg?

  5. Forklar forskjellen mellom numerisk og analytisk integrasjon.

  6. Forklar hvorfor en sentraltilnærming av rektangelmetoden er mye bedre enn en venstre- eller høyretilnærming.

  7. Følgende funksjon gir angir signalet til en NMR-topp i et NMR-spekter:

    \[f(x) = 3e^{\frac{-(x-2)^2}{0.04}}\]

    Arealet avgrenset av toppen og x-aksen forteller oss om relativt antall H-atomer i samme miljø i forbindelsen. Lag et program som beregner og skriver ut dette arealet. Begrunn valg av metode.

  8. Funksjonen nedenfor inneholder en funksjon som beregner det bestemte integralet til en funksjon med trapesmetoden. Funksjonen fungerer derimot ikke som den skal. Forklar hva som er feil og rett opp koden.

def trapesmetoden(f, a, b, n):
    h = (a+b)/n
    A = h*(f(a) + f(b))/2.0
    for k in range(n):
        A = A + f(a + n*h)*h
    return A*h

Grunnleggende programmering:

  1. Vi skal veie inn og lage en saltløsning av KMnO\(_4\) (M\(_ m\)= 158 g/mol). Lag et program som tar den innveide massen av saltet som input med input-funksjonen eller fra kommandolinja. Programmet skal regne ut og skrive ut konsentrasjonen til en løsning av dette saltet på 1 L.

  2. Ved 25°C er løseligheten til KMnO\(_4\) 76 g/L. Utvid programmet ditt i forrige oppgave slik at det tar hensyn til dette med relevant feilhåndtering hvis brukeren av programmet gir for høy masse inn som input.

  3. Lag en Python-funksjon som regner ut volumet gitt trykket, temperaturen og stoffmengden til en ideell gass.

  4. Lag et program som beregner følgende rekkesum:

\[\sum_{n=2}^{16} ((n^2 + 1) + n)\]