Numerisk løsning av ligninger ved iterasjon.
Numerisk løsning av likninger
Mange likninger kan ikke løses eksakt med algebraiske metoder. For eksempel:
-
-
-
Likningen bruker cosinus, som hører til R2. Eksempel 2 og oppgave 3 a) er derfor fordypning. Vi bruker også noen deriverte som du lærer å finne i kapittel 4: og .
Newtons metode gir oss en måte å finne tilnærmede løsninger med høy presisjon.
Ideen: Start med en gjetning, og forbedre den iterativt ved å følge tangentlinjen.
1. Velg en startverdi nær løsningen
2. Iterer med formelen:
Geometrisk tolkning:
- Tegn tangenten til i punktet
- Finn hvor tangenten krysser -aksen
- Dette gir
Prosessen gjentas til ønsket nøyaktighet er oppnådd.
Utledning av formelen
Tangentlinjen til i har likning:
Vi finner hvor tangenten krysser -aksen ():
Dette gir oss .
Bruk Newtons metode til å finne ved å løse .
-
-
- Iterasjonsformel:
Startverdi:
Iterasjoner:
| 0 | 1 |
| 1 | |
| 2 | |
| 3 |
Svar: (etter 3 iterasjoner)
Finn en løsning av med Newtons metode.
Derivert:
Iterasjonsformel:
Startverdi: (fra grafisk inspeksjon)
Iterasjoner:
| 0 | 0,5 | 0,378 |
| 1 | 0,7552 | |
| 2 | 0,7391 |
Svar: er løsningen av .
- Startverdien er nær løsningen
- nær løsningen
- er kontinuerlig og deriverbar nær løsningen
Når kan det gå galt?
- (divisjon med null)
- Dårlig startverdi (kan gi divergens eller feil løsning)
- Flere løsninger (kan lande på "feil" løsning)
Konvergenshastighet:
Når metoden fungerer, dobles vanligvis antall korrekte siffer for hver iterasjon (kvadratisk konvergens).
Bruk Newtons metode med 3 iterasjoner.
Finn ved å løse med .
Finn ved å løse med .
Løs med .
Likningen har én reell løsning.
Vis at løsningen ligger mellom 2 og 3.
Bruk Newtons metode med til å finne løsningen med 4 desimalers nøyaktighet.
Gjør dette i GeoGebra
Utforsk Newtons metode grafisk
Skriv inn én linje om gangen i inntastingsfeltet:
f(x) = x^3 - 2x - 5 x0 = 3 A = (x0, f(x0)) tang1 = Tangent(A, f) B = Intersect(tang1, xAxis) x1 = x(B) C = (x1, f(x1)) tang2 = Tangent(C, f) D = Intersect(tang2, xAxis)
Med språket satt til norsk forstår GeoGebra kommandonavnene både på norsk og engelsk.
Forsøk å løse (kubikkrot) med Newtons metode. Bruk .
-
-
Iterasjonsformel:
Iterasjoner:
| 0 | |
| 1 | |
| 2 | |
| 3 | |
| 4 |
Iteratene divergerer — verdiene vokser og spretter mellom positiv og negativ.
Årsak:
Nullpunktet er , men der er . Den deriverte er ubegrenset nær nullpunktet, og tangentlinjene peker lenger og lenger bort. Newtons metode konvergerer ikke.
Svar: Newtons metode divergerer her, og vi finner ikke nullpunktet fra .
I praksis bruker vi et stoppkriterium for å avgjøre når vi har god nok tilnærming:
1. Endring mellom iterasjoner: (f.eks. )
2. Funksjonsverdi nær null:
Vanligvis er 5–10 iterasjoner nok til å oppnå mer enn 10 desimalers nøyaktighet, takket være den kvadratiske konvergensen.
Anvend Newtons metode på ulike problemer.
(Fordypning, R2-stoff) Finn nullpunktet til med . Utfør 3 iterasjoner.
Likningen har en løsning nær . Bruk Newtons metode til å finne den.
Forklar hvorfor er en dårlig startverdi for å løse med Newtons metode.
Skriv en algoritme (pseudokode eller Python) for Newtons metode.
Skriv en funksjon newton(f, f_derivert, x0, toleranse, maks_iter) som returnerer et tilnærmet nullpunkt. Funksjonen skal iterere til eller maks antall iterasjoner er nådd.
Test algoritmen på for å finne . Hvor mange iterasjoner trengs for 10 desimalers nøyaktighet?
Halveringsmetoden
Newtons metode krever den deriverte og en god startverdi. Halveringsmetoden krever bare at er kontinuerlig og skifter fortegn i et intervall.
Er og av motsatt fortegn, er , og har et nullpunkt i . Vi regner ut midtpunktet og beholder den halvdelen der fortegnsskiftet er:
- Er , ligger nullpunktet i , og vi setter .
- Ellers ligger nullpunktet i , og vi setter .
Hver runde halverer intervallet. Starter vi med lengden , er lengden etter runder, og nullpunktet ligger alltid i det intervallet vi har igjen.
La .
a) Vis at har et nullpunkt i .
b) Utfør tre runder med halveringsmetoden for hånd.
c) Programmet nedenfor bruker halveringsmetoden. Forklar hva det gjør, og hva det skriver ut.
from math import exp
def f(x):
return exp(x) - 4
a = 1
b = 2
while b - a > 0.001:
m = (a + b) / 2
if f(a) * f(m) < 0:
b = m
else:
a = m
print(a, b)a) og .
er kontinuerlig og skifter fortegn, så har et nullpunkt i .
Svar: , så det finnes et nullpunkt i .
b)
| Runde | |||
|---|---|---|---|
| 1 | 1 | 2 | 1,5 |
| 2 | 1 | 1,5 | 1,25 |
| 3 | 1,25 | 1,5 | 1,375 |
| Runde | Nytt intervall | ||
| 1 | |||
| 2 | |||
| 3 |
Svar: Etter tre runder ligger nullpunktet i .
c)
f er funksjonen, a og b er endepunktene. Løkka kjører så lenge intervallet er lengre enn 0,001. I hver runde regnes midtpunktet m ut, og if-testen beholder den halvdelen der skifter fortegn.Lengden starter på 1 og halveres hver runde. Etter 10 runder er den , og løkka stopper.
Det eksakte nullpunktet er .
Svar: Programmet skriver ut endepunktene i det siste intervallet: 1.3857421875 1.38671875. Nullpunktet ligger mellom dem.
La .
Vis at har et nullpunkt i .
Utfør tre runder med halveringsmetoden. I hvilket intervall ligger nullpunktet etterpå?
Programmet nedenfor bruker halveringsmetoden.
def f(x):
return x**2 - 3
a = 1
b = 2
while b - a > 0.2:
m = (a + b) / 2
print(m)
if f(a) * f(m) < 0:
b = m
else:
a = mHva skriver programmet ut?
Hvilket tall nærmer midtpunktene seg hvis vi lar løkka gå lenger? Begrunn svaret.
Hvor mange runder kjører løkka hvis vi bytter 0.2 med 0.001?
Vi vil løse likningen med programmet fra eksempel 4.
Endre programmet slik at det finner løsningen som ligger i . Hva skriver det ut?
Hva skriver programmet ut hvis vi starter med a = -1 og b = 0? Er det en løsning av likningen?
Legg til en kontroll slik at programmet skriver ut en melding når det ikke er fortegnsskifte i startintervallet.
| Newtons metode | |
|---|---|
| Hastighet | Kvadratisk konvergens (rask) |
| Krav | , god startverdi |
| Pålitelighet | Kan divergere |
| Halveringsmetoden | |
| Hastighet | Lineær konvergens (langsom) |
| Krav | Bare et fortegnskifte: |
| Pålitelighet | Fungerer alltid når vi har fortegnskifte |
I praksis: Halveringsmetoden gir et grovt intervall rundt nullpunktet, og Newtons metode med startverdi i det intervallet gir raskt mange riktige desimaler.
Oppsummering
Newtons metode:
Fremgangsmåte:
1. Omform likningen til
2. Finn
3. Velg en god startverdi
4. Iterer til ønsket nøyaktighet
Halveringsmetoden: Halver intervallet og behold halvdelen der skifter fortegn. Langsom, men virker alltid når er kontinuerlig og .
Fordeler med Newtons metode:
- Rask konvergens (dobler presisjon per steg)
- Fungerer for de fleste funksjoner
Ulemper med Newtons metode:
- Krever god startverdi
- Krever at
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.
