Nada


-----

Numeriska metoder grundkurs I för I2+CL2


-----

Hur många siffror i svaret?

Ett litet klargörande?

Grundregeln är att om man ger ett tal så är siffrorna i det säkra. Om någon av dem är osäker måste man i en felgräns ange hur osäkra de är.

Om man skall svara med N siffror är förstås det trevligaste om man kan räkna ut värdet så noggrannt att man kan avrunda svaret till N siffror och slippa ange en felgräns. (Den är då underförstådd). I annat fall får man ta med fler siffror i svaret, ta med en felgräns och kolla att felgränsen är mindre än det som krävs.

Grundtipset är alltså, låt datorn jobba! Då blir det lättare för er själva!

Felgränsen fås som summan av de tre (fyra) felkällorna trunkeringsfel (Etrunk), beräkningsfel (Eber), tabelleringsfel (Etab) och presentationsfel (Epres). Felskattningen blir mycket lättare om en felkälla dominerar, då kan de andra försummas.

Exempel med ekvationslösning

Jag söker en rot med tex Newton-Raphson metod.

Exempel 1:
Om jag itererat många varv blir trunkeringsfelet litet och man kan göra följande:
Givet x=1.23456789, Etrunk=1.23456789*10^(-8), Eber=ca 10^(-16), Etab=0. Summan av felgränserna ligger i storleksordningen 10^(-8), dvs åttonde decimalen. Jag kan lugnt avrunda till fyra decimaler och svarar x=1.2346 med fem säkra siffror.

(Kontroll för den som vill:
Epres=|1.2346-1.23456789|=0.00003211, Epres+Etrunk+Etab+Eber = 0.00003211+1.23*10^(-8)+10^(-16)+0 <= 0.00005, dvs fyra säkra decimaler).

Ibland kan man dock inte räkna så noggrannt som man vill, tex det tar för lång tid (så man får acceptera ett stort Etrunk) eller givna indata är alltför osäkra (så man får acceptera ett stort Etab). Då anger man i svaret även siffror som inte är säkra och tar med en felgräns.

Exempel 2:
x=1.23456789, Etrunk=1.23456789*10^(-3), Eber=ca 10^(-16), Etab=0. Summan av felgränserna ligger i storleksordningen 10^(-3), dvs tredje decimalen. Jag avrundar svaret till fyra decimaler för att få en felgrans med två siffror. Jag avrundar till x=1.2346, Epres=|1-2346-1.23456789|=0.00003211, Epres+Etrunk+Etab+Eber=0.00003211+1.23457*10^(-3)+10^(-16)+0=0.001267, och svarar 1.2346+-0.0013 (i detta svar har jag alltså tre säkra siffror, två säkra decimaler, eftersom E<0.005)
Notera att om man svarat bara 1.23 utan felgräns vore det fel (eftersom felgränsen då blir Epres+Etrunk+Etab+Eber = 0.00456789+1.23457*10^(-3)+10^(-16)+0 = 0.00580246>0.005)!

Exempel 3:
Om ekvationen innehåller en osäker parameter är det lättast om Etab får dominera, dvs se till att Etrunk blir litet! Använd störningsräkning:

Bestäm roten med ostörd parameter:
x=1.23456789, Etrunk=1.23456789*10^(-8), Eber=ca 10^(-16).

Bestäm roten med störd parameter:
xs=1.2458921, Etrunk=2.34567891*10^(-8), Eber=ca 10^(-16).

Då blir Etab=|xs-x|=|1.23456789-1.2458921|=0.01132421
Jämfört med Etab är Eber och Etrunk helt försumbara. Summan av felgränserna (dvs egentligen bara Etab) ligger i storleksordningen 10^(-2), dvs andra decimalen. Jag avrundar svaret till tre decimaler för att få en felgrans med två siffror. Jag avrundar till x=1.235, Epres=|1.235-1.23456789|=0.00043211, Epres+Etab+Etrunk+Eber=Epres+Etab=0.00043211+0.01132421=0.01175632, och jag svarar x=1.235 +- 0.012

I det här exemplet går det knappast att låta presentationsfelet dominera. Även om jag avrundar svaret till heltal blir Epres "bara" 0.23456789, vilket inte gör Etab försumbart. Dock, svaret x=1 är ett korrekt svar, ty heltalssiffran är säker.
(Kontroll: Epres=|1-1.23456789|=0.23456789, Epres+Etrunk+Etab+Eber = 0.2459 <= 0.5, dvs heltalssiffran är säker).

Praktisk felskattning

Som sagt: Felgränsen fås alltid som summan av de tre (fyra) felkällorna trunkeringsfel (Etrunk), beräkningsfel (Eber), tabelleringsfel (Etab) och presentationsfel (Epres), men:

Felskattningen blir mycket enklare om man låter en felkälla dominera.

I exempel 1 ovan dominerar Epres, lättaste sättet, felgränsen behöver inte ens räknas ut!

I exempel 3 ovan dominerar Etab så Etrunk kan försummas. Felgränsen består av två termer (ty Epres finns alltid med).

Din egen tid är mycket mer dyrbar än datorns (oftast i alla fall). Gör det enkelt för dig, låt datorn räkna lite mer så att du själv behöver räkna mindre!

^ Upp till I2+CL2-kursens hemsida.


Sidansvarig: <ninni@nada.kth.se>
Senast ändrad 16 februari 2006
Tekniskt stöd: <webmaster@nada.kth.se>