IN-KJM1900: tilbakeblikk og overblikk
Siste forelesning, 20.november
Mål for økta:¶
- Praktisk info
- Tilbakeblikk og eksempeloppgaver:
- Rekurrensrelasjoner
- Trapesmetoden
- Numerisk derivasjon
- Newtons metode
- Eulers metode
Eksamensst?tte, uke 47
Det tilbys flere eksamensforberedende ?kter denne uka
N?r | Hvor | hva |
Tirsdag 20/11, 16.00-18.00 | Eksamensverksted i IN1900 / gratis pizza | Store fysiske auditorium |
Onsdag 21/11 16.15-18.00 | Eksamensverksted i IN-KJM1900 | Auditorium 3 |
Torsdag 22/11, 10.15-12 | Gjennomgang av IN1900 pr?veeksamen | Sophus Lies Auditorium |
Pr?veeksamen IN1900
- Tilgjengelig p? Inspera frem til eksamen.
- Gjennomg?s torsdag 22/11.
- Oppgave 6, 13, 15 og 18 inng?r ikke i pensum i dette kurset.
Modeller i kjemi: tilbakeblikk
Ofte ser vi p? realistiske og kompliserte systemer og mekanismer
Beregningsorientering innen kjemi¶
- Volumetri
- Geometri (struktur)
- St?kiometri
- Statistikk
- Beregning av likevekt
- Titrering
- Reaksjonskinetikk
- Molekyl?rdynamikk
- Statistisk mekanikk
- Kvantekjemi
Numeriske modeller i kjemi
Simulering av
Basert p? grunnleggende kvantemekanikk
Begrensninger p? beregninger
Fremtidsutsikter
Numeriske metoder / beregninger:¶
- Ikke det samme som programmering:
- Simulering, modellering
- L?sning av ligninger, integraler
- Iterative prosesser
- Benyttes n?r analytisk l?sning ikke finnes, for eksempel p? grunn av
- Randbetingelser
- Geometri
- Omfang
- ...eller n?r numerisk feil er akseptabel.
Differensligninger¶
En differensligning er en sekvens av verdier hvor en verdi er bestemt av en eller flere av de foreg?ende verdiene:
$$ a_{n+1} = f(a_n, a_{n-1}, a_{n-2}, ...)$$
- Kalles ogs? gjerne for rekurrensrelasjoner.
En nyttig opplysning
B?de Newtons metode og Eulers metode kan uttrykkes som differensligninger. Diskrete regneoperasjoner kan ofte uttrykkes kompakt med differensligninger.亚博娱乐官网_亚博pt手机客户端登录
Integrasjon som summasjon
Diskrét integrasjon kan gj?res som summasjoner, for eksempel med trapesregelen: \begin{equation} \int_a^b f(x) dx \approx \sum_{i=1}^{N-1} \left(x_{i+1}-x_i\right)\frac{f(x_i) + f(x_{i+1})}{2} = \frac{\Delta x}{2} \sum_{i=1}^{N-1} \left(f_{i+1}+f_i\right) \end{equation} Stiplede linjer indikerer "gjennomsnittlig" funksjonsverdi over et intervall $\frac{f(x_i) + f(x_{i+1})}{2}$. $\rightarrow$ Live kodeeksempelDerivasjon som endelige differanser
I klassisk kalkulus er den deriverte definert som $$ \frac{d}{dx} f(x) := \lim_{\Delta x \rightarrow 0} \frac{f(x + \Delta x) - f(x)}{\Delta x}$$ I diskret kalkulus er "fremoverdifferansen" en av flere mulige approksimasjoner p? den deriverte $$ \mathbf{D}^+ f_i := \frac{f_{i+1} - f_i}{\Delta x}$$ $\rightarrow$ Live kodeeksempelNoen approksimasjoner p? den deriverte
Uttrykk | Navn | Operator |
---|---|---|
$\mathbf{D}^+ f(x) := \frac{f(t + \Delta t) - f(t)}{\Delta t}$ | "Fremad-differanse" | $\mathbf{D}^+$ |
$\mathbf{D} f(x) := \frac{f(x+ \Delta x) - f(x-\Delta x)}{2 \Delta x}$ | "Senterdifferanse" | $\mathbf{D}$ |
$\mathbf{D}^- f(x) := \frac{f(x) - f(x-\Delta x)}{\Delta x}$ | "Bakoverdifferansen" | $\mathbf{D}^-$ |
Beskrivelse av Newtons metode
Newtons metode er en fremgangsm?te som for en hvilken som helst jevn funksjon $f(x)$ lar oss finne en $x_*$ slik at $$f(x_*) = 0$$ Den formelle beskrivelsen er at vi f?rst gjetter p? en $x_0$, og deretter gjentar f?lgende operasjon $$ x_{n+1} = x_{n} - \frac{f(x_n)}{f'(x_{n})}$$ Vi gjentar frem til enten et maksimalt antall interasjoner er n?dd, eller at funksjonsverdien i punktet er tilstrekkelig n?rt null: $$\vert f(x_{n+1}) \vert \le \epsilon$$ Dette kalles en konvergensbetingelse $\rightarrow$ Vi ser p? et interaktivt eksempelSekantmetoden
Om vi erstatter den deriverte i Newtons metode med en numerisk differanse f?r vi en variant av Newtons metode som kalles sekantmetoden: $$ x_{n+1} \approx x_{n} - \frac{f(x_n)}{\mathbf{D}^+f(x_n)} = x_{n} - \frac{f(x_n)}{f(x_n + \Delta x) - f(x_n)}\Delta x $$ Legg merke til at dette uttrykket er en differensligning, p? samme m?te som uttrykket for Newtons metode.Differensialligninger
I dette kurset har vi sett p? differensialligninger p? formen
$$\frac{d}{dt} y(t) = f(y(t), t)$$
- Den ukjente i ligninga er en funksjon: $y(t)$
- Ligninga over er en 1. ordens ordin?r "diffligning".
- Enkeltderivert $\rightarrow$ "f?rste orden"
- Kun derivert med hensyn p? en variabel $\rightarrow$ "ordin?r"
- Diffligninger brukes gjennomg?ende i vitenskap; b?lger, diffusjon, osv.
- I kjemi, for eksempel for:
- Reaksjonskinetikk
- Kvantekjemi (Schr?dingerligningen)
- Radioaktivitet
Differensialligninger: numerisk løsning¶
- Vi skal l?se f?rste ordens ODEer numerisk.
- Vi baserer l?sningen v?r p? definisjonen av den deriverte: $$ \frac{d}{dt}f(t) = \lim_{\Delta t \rightarrow 0} \frac{f(t + \Delta t) - f(t)}{\Delta t} $$
Approksimasjonen gjøres i tre trinn:¶
- anta at en tilstrekkelig liten $\Delta t$ bringer oss n?r nok den deriverte $$ \frac{d}{dt}f(t) \approx \frac{f(t + \Delta t) - f(t)}{\Delta t} $$
- Sett inn approksimasjonen i ligningen: $$ \frac{d}{dt} y(t) = f(y(t), t) \rightarrow \frac{f(t + \Delta t) - f(t)}{\Delta t} = f(y(t),t)$$
- L?s algebraisk for $y(t+\Delta t)$: $$ y(t + \Delta t) = f(y(t),t)\cdot \Delta t + y(t) $$
- Alternativ notasjon ("oppdateringsskjema") $$ y_{i+1} = f(y_i, t) \cdot \Delta t + y_i $$ ... og du er i m?l med teori. N? gjenst?r implementasjon.
- Legg merke til at oppdateringsskjemaet er en differensligning.
Eulers metode for differensialligninger
Initialverdiproblem: $$\frac{d}{dt} y(t) = f(y(t), t)$$ $$y(0) = a$$ F?lgende fremgangsm?te vil alltid virke i dette kurset, samt i mange andre tilfeller:- Diskretiser problemet (variabler, funksjoner). (la $t \rightarrow t_n = n \cdot \Delta t$).
- Diskretiser differensialoperatoren ($\frac{d}{dt} \rightarrow \mathbf{D}^+$ ).
- L?s algebraisk for neste funksjonsverdi $f_{n+1} = ...$
- Skriv en kode som iterativt l?ser for neste funksjonsverdi.
- Presenter og fortolk resultatene.
$\rightarrow$ Live kodeeksempel: reaksjonskinetikk med koblede reaksjoner.
Fremad-differanse
$$\frac{d}{dt} y(t) = f(y(t), t)$$ $$y(0) = a$$ $$\frac{d}{dt} y(t) \approx \frac{y(t_{n+1}) - y(t_n)}{\Delta t} = f(y(t_n), t_n)$$ $$y(t_{n+1}) = y(t_n) + f(y(t_n), t_n)\Delta t$$Senterdifferanse
$$\frac{d}{dt} y(t) = f(y(t), t)$$ $$y(0) = a$$ $$\frac{d}{dt} y(t) \approx \frac{y(t_{n+1}) - y(t_{n-1})}{2\Delta t} = f(y(t_n), t_n)$$ $$y(t_{n+1}) = y(t_{n-1}) + f(y(t_n), t_n)2\Delta t$$Litt om eksamen I
F?lgende l?ringsm?l gjelder for kurset som helhet:
- har du grunnleggende ferdigheter i Python programmering med bruk av datastrukturer, funksjoner, moduler og vektoriserte beregninger.
- behersker du grunnleggende feils?king og -retting og kan konstruere tester for ? finne og rette feil i egne programmer.
- kan du bruke eksterne Python moduler i samspill med egen kode til ? integrere, derivere, finne nullpunkter, beregne grenseverdier og rekker, samt l?se differens- og differensial-likninger.
- kan du lage matematiske modeller som beskriver kjemiske problemstillinger, og skrive programmer som gj?r beregninger med modellene.
- Har du erfaring med og kunnskap om ? jobbe prosjektbasert.
Dette er utgangspunktet for hva du blir testet i p? eksamen.
Kjemidelen av kurset best?r i hovedsak av prosjektoppgaven. I tillegg gjelder f?lgende pensumlitteratur:
Kapittel | Innhold | Unntak |
---|---|---|
6 | Dictionaries and strings | 6.3-6.7 |
Appendiks A | Sequences and difference equations | A.2 |
Appendiks B | Discrete Calculus | B.4 |
Appendiks C | Differential equations | C.3-C.4 |
Appendiks E | Programming of differential equations | E.1.7, E.2.4, E.3-E.4 |
I tillegg er prosjektoppgaven pensum. Eksamen vil i stor grad sammenfalle med det som introduseres i prosjektet.