Numeriska metoder. Kompendiet. Lektor: Yury Shestopalov. e-mail: youri.shestopalov@kau.se Tel. 054-7001856. Karlstads Universitet



Relevanta dokument
Interpolation Modellfunktioner som satisfierar givna punkter

Matematiska modeller

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

a = a a a a a a ± ± ± ±500

Interpolation. 8 december 2014 Sida 1 / 20

Del I: Lösningsförslag till Numerisk analys,

Fel- och störningsanalys

Fel- och störningsanalys

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Maclaurins och Taylors formler. Standardutvecklingar (fortsättning), entydighet, numerisk beräkning av vissa uttryck, beräkning

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Approximation av funktioner

Konvergens för iterativa metoder

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 30 augusti 2002 TID:

Föreläsning 5. Approximationsteori

Välkomna till Numme och MATLAB, 9 hp, för Materialdesign och Energi&Miljö, årskurs 2

SF1625 Envariabelanalys Lösningsförslag till tentamen

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Numerisk Analys, MMG410. Lecture 12. 1/24

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

Tentamen del 1 SF1511, , kl , Numeriska metoder och grundläggande programmering

Tentamen: Numerisk Analys MMG410, GU

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Numerisk Analys, MMG410. Lecture 13. 1/58

Veckoblad 4, Linjär algebra IT, VT2010

Euler-Mac Laurins summationsformel och Bernoulliska polynom

Datoraritmetik. Från labben. Från labben. Några exempel

7 november 2014 Sida 1 / 21

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

Institutionen för Matematik. F1 - Linjär algebra och numerisk analys, TMA671 Svar till övningar i Heath s bok och extraövningar

f(x + h) f(x) h f(x) f(x h) h

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Komplettering till kursboken i Numeriska beräkningar. 1 Beräkningsfelsanalys. 1.1 Uttryck med kancellation

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Sammanfattning (Nummedelen)

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 13 jan 2014

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Icke-linjära ekvationer

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

TAIU07 Matematiska beräkningar med Matlab

1 Föreläsning 12, Taylors formel, och att approximera en funktion med ett polynom

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

TANA17 Matematiska beräkningar med Matlab

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA671

15 september, Föreläsning 5. Tillämpad linjär algebra

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Egenvärdesproblem för matriser och differentialekvationer

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Kapitel 3. Approximation av funktioner

TMV225+TMV176 Inledande matematik M, TD Sammanfattning. Läsanvisningar inför tentamen.

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

Viktigaste begrepp, satser och typiska problem från kursen ALA-A år 2013.

Viktiga begrepp, satser och typiska problem i kursen MVE460, 2015.

Laboration 1 i SF1544: Öva på Matlab och konstruera en optimal balk Avsikten med denna laboration är att:

f (a) sin

Omtentamen i DV & TDV

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

9.3. Egenvärdesproblem

TATA42: Föreläsning 3 Restterm på Lagranges form

Lösningsförslag till tentamensskrivningen i Numerisk analys

Något om Taylors formel och Mathematica

Omtentamen i DV & TDV

Institutionen för Matematik, KTH Lösningar till tentamen i Analys i en variabel för I och K (SF1644) 1/ e x h. (sin x) 2 1 cos x.

Envariabelanalys 5B1147 MATLAB-laboration Derivator

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A. r cos t + (r cos t) 2 + (r sin t) 2) rdrdt.

MATEMATIK Datum: Tid: eftermiddag Hjälpmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Tim Cardilin Tel.

NUMPROG, 2D1212, vt Föreläsning 9, Numme-delen. Stabilitet vid numerisk behandling av diffekvationer Linjära och icke-linjära ekvationssystem

n Kap 4.1, 4.2, (4.3), 4.4, 4.5 n Numerisk beräkning av derivata med n Felen kan t ex vara avrundningsfel eller mätfel n Felet kan mätas

TANA19 NUMERISKA METODER

Tentamen i Teknisk-Vetenskapliga Beräkningar

MATEMATIK Datum: Tid: förmiddag Hjälpmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Christoffer Standar, Tel.

2D1240 Numeriska metoder gk II för T2, VT Störningsanalys

x f (x) dx 1/8. Kan likhet gälla i sistnämnda relation. (Torgny Lindvall.) f är en kontinuerlig funktion på 1 x sådan att lim a

Matematiska uppgifter

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Torsdag 28 aug 2008 TID:

SF1661 Perspektiv på matematik Tentamen 24 oktober 2013 kl Svar och lösningsförslag. z 11. w 3. Lösning. De Moivres formel ger att

Meningslöst nonsens. December 14, 2014

vux GeoGebraexempel 3b/3c Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Numerisk Analys, MMG410. Lecture 10. 1/17

BEGREPPSMÄSSIGA PROBLEM

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Transkript:

Numeriska metoder Kompendiet Lektor: Yury Shestopalov e-mail: youri.shestopalov@kau.se Tel. 054-7001856 Hemsidan: www.ingvet.kau.se\ youri Karlstads Universitet 2002 1

Innehåll 1 Grundbegrepp av numeriska metoder 7 1.1 Positionssystem............................. 7 1.2 Avrundning............................... 8 1.3 Avhuggning............................... 8 1.4 Felfortplantning............................. 9 1.5 Felgränser................................. 10 1.6 Ackumulerade fel............................ 10 1.7 Kancellation: förlusten av signifikanta siffror............. 11 1.8 Felformeln................................ 13 1.9 Binära systemet............................. 15 1.10 Problem................................. 17 2 Funktionsberäkning 19 2.1 Serieutveckling............................. 19 2.2 Problem................................. 22 3 Interpolation 23 3.1 Interpolation med polynom...................... 23 3.2 Linjär interpolation........................... 25 3.2.1 Styckvis-linjär interpolation.................. 25 3.2.2 Andragradsinterpolation.................... 26 3.2.3 Felprincipuppskattning..................... 32 3.3 Differenser................................ 32 3.3.1 Differensföljder och differensschema.............. 32 3.3.2 Framåtdifferenser........................ 33 3.3.3 Framåtdifferenser ekvidistanta fallet............ 34 3.4 Interpolationspolynom och differenser................. 35 3.4.1 Newtons allmäna interpolationsformel............. 35 3.4.2 Newtons interpolationsformel i ekvidistanta fallet...... 37 3.5 Problem................................. 38 4 Icke-linjära ekvationer 50 4.1 Intervallhalvering............................ 50 4.2 Interpolationsmetoder: sekantmetoden................ 52 4.3 Iterativa metoder............................ 53 4.3.1 Substitutionsmetoden...................... 53 4.3.2 Newtons metod......................... 53 4.3.3 Stopregeln............................ 54 4.3.4 Fixpunktsiteration....................... 54 2

4.4 Konvergens av fixpunktsiteration................... 58 4.5 Kaotiskt och periodiskt beteende................... 59 4.5.1 Ett exempel av kaotiskt beteende............... 63 4.6 Problem................................. 64 5 Numerisk integration 67 5.1 Rektangelsregeln............................ 67 5.2 Trapetsregeln.............................. 67 5.2.1 Feluppskattning......................... 68 5.2.2 Felgränser för trapetsregeln.................. 69 5.3 Problem................................. 72 6 Differensapproximationer av derivator och differentialekvationer 74 6.1 Approximation av derivator...................... 74 6.2 Approximationen av differentialekvationer. Differensekvationer... 81 6.3 Differensekvationer på matrisformen................. 83 6.4 Problem................................. 86 7 Numerisk lösning av ordinära differentialekvationer 87 7.1 Grundbegrepp.............................. 87 7.2 Numerisk lösning av begynnelsevärdesproblem............ 96 7.2.1 Eulers metod.......................... 96 7.2.2 Heuns metod.......................... 100 7.2.3 Runge Kutta-metoder..................... 101 7.3 Problem................................. 102 8 Numeriska metoder för linjär algebra 104 8.1 Grundläggande begrepp........................ 104 8.2 Matrisalgebra.............................. 107 8.3 Bandmatriser och blockmatriser.................... 111 8.3.1 Bandmatriser.......................... 111 8.3.2 Blockmatriser.......................... 115 8.4 Gausselimination............................ 117 8.4.1 Pivotering............................ 121 8.5 Problem................................. 123 8.6 Iterativa metoder............................ 127 8.6.1 Vektor- och matrisnormer................... 128 8.6.2 Konvergens av iterativa metoder................ 130 8.6.3 Geometriska serien....................... 130 8.6.4 Jacobi iteration......................... 131 8.6.5 Gauss Seidel iteration..................... 137 3

9 Tridiagonala matriser och randvärdesproblem 141 9.1 Tridiagonala linjära ekvationssystem................. 141 9.2 Randvärdesproblem för stationära en-dimensionella värmeledningsekvationen.............. 143 9.3 Numerisk lösning till randvärdesproblem............... 147 9.4 Problem................................. 156 10 Numerisk lösning till en-dimensionella värmeledningsekvationen och diffusionekvationen 157 10.1 Värmeledningsekvationen........................ 158 10.2 Crank Nicolsons metod......................... 159 10.3 Problem................................. 165 11 Randvärdesproblemet för stationära två-dimensionella värmeledningsekvationen och Laplaces och Poissons ekvationer 166 11.1 Numerisk lösning till Laplaces och Poissons ekvationer i en rektangel 167 12 Minstakvadratmetoden 171 12.1 Överbestämda ekvationssystem.................... 171 12.2 Minsta kvadratproblemet........................ 173 13 Spline-interpolation 179 13.1 Kubisk spline-interpolation....................... 179 13.2 Problem................................. 184 14 Approximation 185 14.1 Bästa polynomapproximationen i maximumnorm.......... 189 14.2 Chebyshevpolynom........................... 195 15 Facit 197 15.1 Problem 3.2............................... 197 15.2 Problem 5.2................................ 198 15.3 Problem 5.3................................ 199 15.4 Problem 6.1............................... 200 15.5 Problem 8.5............................... 202 15.6 Problem 8.6............................... 203 15.7 Problem 9.1............................... 204 15.8 Problem 10.1.............................. 207 4

16 Tentor 209 16.1 Tenta 1................................. 209 16.2 Tenta 2................................. 219 16.3 Tenta 3................................. 227 16.4 Tenta 4................................. 235 16.5 Tenta 5................................. 240 16.6 Tenta 6................................. 246 16.7 Tenta 7................................. 255 17 MATLABövningar 264 17.1 MATLAB grunder........................... 264 17.1.1 Komma igång.......................... 264 17.1.2 Filer i MATLAB........................ 264 17.2 MATLAB som miniräknare...................... 265 17.2.1 Exempel: räkna genom att skriva direkt i MATLABfönstret 265 17.2.2 Exempel: beräkna ett tal genom att skriva en kommandofil. 266 17.2.3 Exempel: funktionsberäkning................. 266 17.2.4 Exempel: beräkna ett algebraiskt uttryck........... 267 17.2.5 Exempel: en kommandofil som beräknar tal......... 267 17.3 Vektorer och matriser.......................... 267 17.3.1 Exempel: en matris av typ 2 3................ 267 17.3.2 Exempel: skapa matriser.................... 268 17.3.3 Exempel: skapa matriser genom att skriva en kommandofil. 268 17.3.4 Exempel: radvektorer och kolonnvektorer........... 268 17.3.5 Exempel: definition av matriser genom radvektorer och kolonnvektorer............ 269 17.3.6 Exempel: MATLABkommandot ones(1,m)......... 269 17.3.7 Exempel: MATLABkommandot i:h:k............ 269 17.3.8 Exempel: en kommandofil som räknar dina räkningar.... 270 17.3.9 Exempel: MATLABkommandon diag och diagonalmatriser. 270 17.3.10 Exempel: diagonalmatriser................... 271 17.3.11 Exempel: en funktionsfil som löser ett linjärt ekvationssystem 272 17.3.12 Exempel: värdetabeller för funktioner............. 272 17.4 Ekvationer................................ 273 17.4.1 Exempel: en skärningspunkt mellan kurvor.......... 273 17.4.2 Exempel: fixpunktsiteration.................. 274 17.4.3 Exempel: koordinater av en skärningspunkt......... 276 17.4.4 Exempel: lös en ekvation med fixpunktsiteration....... 277 17.4.5 Exempel: fixpunktsiteration och Newtons metod....... 277 17.5 Polynom i MATLAB.......................... 277 17.5.1 Exempel: kommandot polyval................ 278 5

17.6 Polynomanpassning i MATLAB.................... 278 17.6.1 Exempel: bästa anpassningen i minstakvadratmening.... 278 17.7 Polynomanpassning och tendenskurvor................ 279 17.7.1 Exempel: dagsvärdeförändring i ett aktiebolag........ 279 17.8 Tendenskurvor och referenspunkter.................. 280 17.8.1 Polynomanpassning till periodiska kurvor........... 280 18 Referenser 281 6

1 Grundbegrepp av numeriska metoder 1.1 Positionssystem I ett positionssystem anges ett tal så att en siffras betydelse beror av dess plats i talbeteckningen. Varje plats (position) har ett bestämt platsvärde, som är en heltalspotens av systemets bas. I decimalsystemet, är basen tio. Ett tal skrivet i decimalsystemet sägs vara skrivet i decimalform. Siffrorna till höger om decimaltecken kallas decimaler. En signifikant siffra (S) av ett tal c (skrivet i decimalform) är varje c s siffra utom nollor till vänster om den första ickenoll siffran: talen 1360. 1.360, 0.001360 har 4 S. I fix representation används ett givet (fixerat) antal S: 62.358 (fem S), 0.013 (två S), 1.0 (två S). I flyttalsrepresentation (floating-point system), fixerar man antalet S och decimaltecken flyttar: Betrakta t ex tre tal med fyra S: 0.6238 10 3 = 6.238 10 2 = 0.06238 10 4 = 623.8, 0.1714 10 13 = 17.14 10 15 = 0.01714 10 12 = 0.00000000000001714 (13 nollor till höger om decimaltecken) 0.2000 10 1 = 0.02000 10 2 = 2.000, Tal också skrivas på formen 0.6238E03 0.1714E-13, 0.2000E01. där Allmänt kan varje reelt tal a i talsystemet med basen β framställas på formen a = M β e, e ett helt tal. (1) M = ±D 0.D 1 D 2..., 0 D i < β, i = 0, 1, 2,..., D 0 0, (2) och M kan vara ett tal med oändligt många siffror. I decimalsystemet (med basen β = 10) skrivas ett tal i utvecklad form, t ex 245.93 = 200 + 40 + 5 + 9 10 + 3 100 = = 2 100 + 4 10 + 5 1 + 9 0.1 + 3 0.01 = = 2 10 2 + 4 10 1 + 5 10 0 + 9 10 1 + 3 10 2 7

När man skall lagra ett tal på formen (1) i en dator måste man avkorta M. Antag, att t (signifikanta) siffror används för att representera M. Man lagra då talet (i decimalsystemet) a = ±m 10 e, 0.1 m < 1, e ett helt tal, m = 0.d 1 d 2... d t, d 1 > 0, e < M. m är M avkortat till t siffror. m kallas taldelen (eller mantissan), och e kallas exponentdelen Enligt IEEE Standard ( single precision ), 38 < e < 38. 1.2 Avrundning Betrakta avrundning av decimala tal till t decimaler. Formulera avrundningsreglar: t:e decimalen ökas med 1 om den del av talet som står i positioner till höger om t:e decimalen har värde större än 0.5 10 t. Om värdet mindre än 0.5 10 t, förändras t:e decimalen inte. Om det är lika med 0.5 10 t, ökas t:e decimalen bara om den är udda. Exempel 1.1 1. Avrundning till t = 2 decimaler: 1.2535 avrundas till 1.25. Den del av talet 1.2535 som står i positioner till höger om andra decimalen är 0.0035 och det är mindre än 0.5 10 t med t = 2: 0.0035 < 0.005 = 0.5 10 2 ; då förändras andra decimalen 5 inte och 1.2535 1.25. 2. 0.756322 0.7563 till t = 3 decimaler. 3. 2.859 2.86 till t = 2 decimaler. 4. 1.2535 1.2 till t = 1 decimal; den första decimalen 2 är jämn. 5. 1.2535 1.254 till t = 3 decimaler; den 3:e decimalen 3 är udda. 6. 3.45 3.4, 3.55 3.6 till t = 1 decimal. Av avrundningsregler följer att felet vid avrundning till t decimaler är mindre än eller lika med 0.5 10 t. 1.3 Avhuggning Vid avhuggning stryks alla siffror till höger om t:e decimalen. Exempel 1.2 1. Avhuggning till t = 2 decimaler: 1.2535 avhuggs till 1.25. 8

0.3333333 avhuggs till 0.33. 1.9999 avhuggs till 1.99. 1. Avhuggning till t = 4 decimaler: 1.73205 avhuggs till 1.7320. 3.14159 avhuggs till 3.1415. Felet vid avhuggning till t decimaler är mindre än eller lika med 10 t och är systematiskt: det avkortade värdet är alltid mindre än det oavkortade värdet. 1.4 Felfortplantning Låt a beteckna ett exakt värde och ã ett närmevärde till ett tal a, t ex Vi inför följande definitioner a = 2, ã = 1.414 4S, a = π, ã = 3.1415 5S. Absolut fel i ã : ɛ = a = a ã; då a = ã + ɛ Exempel 1.3 Om ã = 10.5 är närmevärdet till talet a = 10.2, är absolut felet ɛ = 0.3. Relativt fel i ã : ɛ r = a a = ɛ a = a ã a = Fel exakt värde (a 0). ɛ r ɛ ã. I exemplet ovan har vi ɛ = a ã = 2 1.414 = 0.0002135... ; ɛ r = ɛ a = 0.0002135 0.0002135. 2 1.414 ɛ = a ã = π 3.1415 = 0.0000925... ; ɛ r = ɛ a = 0.0000925 π 9 0.0000925 3.1415.

En approximation ã sägs ha n korrekta decimaler (KD) om a = ã a 0.5 10 n (dvs approximationen har ett fel mindre än eller lika med en halv enhet i n:te decimalen). Som mått på relativ nogrannhet använder man ofta talets värdesiffror (antalet korrekta siffror som inleder approximationen; inledande nollor medräknas då inte). 1.5 Felgränser. Exempel 1.4 Felgräns β a i absolut fel : ɛ β a då a ã β. Felgräns β r i relativt fel : ɛ r β r då a ã a β r. approximation med felgräns KD värdesiffror 3.142±0.0005 3 4 0.0063860±0.5E-7 7 5 244000±500 0 3 1.6 Ackumulerade fel Vi ska formulera en sats som ger felgränser i addition och multiplikation (se THEOREM 17.1.1, E. Kreyszig, Advanced Engineering Mathematics, 8th Edition (AEM)): I addition, S = a 1 + a 2, och subtraktion, D = a 1 a 2, kan felgränsen (ɛ) upskattas ɛ β 1 + β 2. där β i, i = 1, 2, är a is felgränser i absolut fel. I multiplikation, M = a 1 a 2, och division, Di = a 1 /a 2 (a 2 0), kan felgränserna ɛ r upskattas approximativt ɛ r β r1 + β r2. där β ri, i = 1, 2, är a is felgränser i relativt fel. 10

1.7 Kancellation: förlusten av signifikanta siffror Om vi skall använda närmevärden i beräkningar, är det viktigt attinformationen inte i onödan går f rlorad. Exempel 1.5 Närmevärdena har båda 7 S (6 KD). Differensen x 1 = 3.162277 ± 0.5 10 6, x 2 = 3.162589 ± 0.5 10 6, (3) y = x 1 x 2 = 0.000312 ± 10 6 (4) har bara två S eftersom 0.5 10 6 < 10 6 < 0.5 10 5. Vi har kancellation av fyra S. Exempel 1.6 Andragradsekvationen har lösningen x 2 18x + 1 = 0 (5) x = 9 ± 81 1 = 9 ± 80. Om 80 8.9443 ± 0.5 10 4 ges med fyra KD, får vi x 1 = 9 + 8.9443 ± 0.5 10 4 = 17.9443 ± 0.5 10 4, x 2 = 9 8.9443 ± 0.5 10 4 = 0.0557 ± 0.5 10 4. (6) Det första närmevädret har 6 S, medan det andra har tre S. Kancellationen undviks om man beräknar x 2 enligt x 2 = 9 80 = (9 80)(9 + 80) 9 + 80 = 1 9 + 80 = 1, (7) 17.9443 ± 0.5 10 4 och 1 = 0.055728002... (8) 17.9443 (resultatet avrundas till 7 decimaler). För divisionen y = p 1 /p 2, uppskattas felgränsen i relativt fel y y p 1 p 1 + p 2 p 2. (9) 11

I (7), p 1 = 1, p 2 = 17.9443, p 1 = 0, p 2 = 0.5 10 4, y = 0.055728002..., och relativa felet i närmevärdet till x 2 = y uppskattas enligt (9) med p 2 0.5 10 4 0.51 10 4 p 2 = < = 0.3 10 5. (10) 17.9443 17 Det absoluta felet i närmevärdet till x 2 = y = 0.0557280 blir då mindre än 0.3 10 5 0.0557280 < 0.3 10 5 0.05573 < 0.3 10 5 0.056 = 0.0168 10 5 < 0.17 10 6. (11) Felet vid avrundning till 7 decimaler 0.055728002 0.0557280 < 0.3 10 7. Det totala felet uppskatas med 0.17 10 6 + 0.3 10 7 = 0.2 10 6, och resultatet har 6 KD och 5 S. Exempel 1.7 Beräkna för växande x med 6S: x 2 = 0.0557280 ± 0.2 10 6 (12) f(x) = x[ x + 1 x (13) x beräknad f(x) exakt f(x) 1.00000.414210.414214 10.0000 1.54430 1.54347 100.000 4.99000 4.98756 1000.00 15.8000 15.8074 10000.0 50.0000 49.9988 100000 100.000 158.113 I 6S beräkningar, får vi, när x = 100, 100 = 10.0000, 101 = 10.0499. (14) Det första värdet är exakt, och det andra värdet är den rätta 6S-avrundningen. Vidare x + 1 x = 101 100 = 0.04990 (15) 12

Det exakta värdet är.049876 (avrundat till 6S). Beräkningar i (15) har förlusten av signifikanta siffror (a loss-of-significance error): subtraktion av x = 100 eliminerar de tre signifikanta siffrorna i x + 1 = 101. Skriv (13) på formen x + 1 x f(x) = x 1 x + 1 + x x + 1 + x = x x + 1 + x (16) I (16), förlörar man inte signifikanta siffror eftersom man subtraherar inte. 6S beräkningar i (16) med avrundning ger f(100) = 4.98756, (17) och (17) är rätta resultatet avrundat till 5 (korrekta) decimaler (6S). 1.8 Felformeln Om resultatet av en beräkning är en kontinuerlig och deriverbar funktion f(x) av indata, kan man härleda ett samband mellan felet f(x) i resultatet f(x) och felet x i indata x. Låt x = x + x vara en approximation av x förutsätt att felet x är litet. Då gäller felformeln f(x) x f (x). (18) Felformeln säger att i punkten x, är felet f(x) i resultatet approximativt lika med felet x i indata multiplicerat med derivatans absolutbelopp f (x). Eftersom x-värdet vanligen inte är känt, brukar man approximera f (x) med f ( x).. Observera att man kan skriva felformeln som f(x) = xf ( x), x x x, så att f(x) M x, M = max x ξ x f (ξ). Då blir felet f(x) i resultatet mindre än felet x i indata om M = max x ξ x f (ξ) < 1. Exempel 1.8 Hur noggrant är det möjligt att beräkna a 2 då a = 0.11 är känt med noggranheten 0.01? Lösning. Här är felet a i indata a mindre än eller lika med 0.01. Vi har a 0.01, a = 0.11 ± 0.01, 0.10 = 0.11 0.01 a 0.11 + 0.01 = 0.12. 13

Approximationen ã = 0.11 har n = 1 KD eftersom a 0.01 < 0.05 = 0.5 10 1 (approximationen har ett fel mindre än en halv enhet 0.5 0.1 = 0.05 i första decimalen). y = x 2 är en växande funktion i området x 0, dvs x 2 1 x 2 2 om 0 x 1 x 2. Då 0.0100 a 2 0.0144 (eftersom 0.10 a 0.12) och man kan skriva a 2 = 0.0122 ± 0.0022, så att man kan beräkna a 2 med noggranheten 0.0022 om a = 0.11 är känt med noggranheten 0.01. Kolla det med hjälp av felformeln. Här är resultatet av beräkning en kontinuerlig och deriverbar funktion f(a) = a 2 av indata och felet i indata a = 0.01. Då gäller felformeln I punkten a ã = 0.11 f(a) a f (a) = 0.01 2a. f(a) 0.01 2 0.11 = 0.01 0.22 = 0.0022. Observera att f (a) = 2 a q = 0.24 < 1 i intervallet 0.10 a 0.12 och felet f(x) i resultatet mindre än felet x i indata: f(x) < 0.24 x, eftersom här M = max x ξ x f (ξ) = max 0.10 ξ 0.12 2 ξ < 0.24. Exempel 1.9 Hur noggrant är det möjligt att beräkna 1 då a = 0.11 är känt med noggranheten a 0.01? Lösning. Här a 0.01, a = 0.11 ± 0.01, 0.10 = 0.11 0.01 a 0.11 + 0.01 = 0.12. y = 1 x är en avtagande funktion i området x > 0, dvs 1 x 1 1 x 2 om 0 < x 1 x 2. Då 10.0000 = 1 1 = 9.0909 1 = 8.3333 (eftersom 0.10 a 0.12) 0.10 0.11 0.12 och man kan skriva 1 = 9.1667 ± 0.8333 0.83, så att man kan beräkna 1 med a a noggranhetetn 0.8333 om a = 0.11 är känt med noggranhetetn 0.01. Kolla det med hjälp av felformeln. Här är resultatet av beräkning en kontinuerlig och deriverbar funktion f(a) = 1, a > 0, av indata och felet i indata a a = 0.01. Då gäller felformeln f(a) a f (a) = 0.01 1 a 2. 14

I punkten a ã = 0.11 f(a) 0.01 1 = 0.8264 0.83. 0.112 Observera att f (ã) 83 > 1 och 69 < f (ã) < 100 i intervallet 0.10 a 0.12. Då är felet f(x) i resultatet större än felet x i indata: f(x) > x, eller approximativt 0.83 > 0.01. Exempel 1.10 Hur noggrant är det möjligt att beräkna sin(π/3) då π är känt med noggranheten 0.0001? Lösning. Här är felet x i indata x = π mindre än eller lika med x = 0.0001. Vi har x 0.0001, x = π = 3.1415 ± 0.0001, 3.1414 = 3.1415 0.0001 π 3.1415 + 0.0001 = 3.1416. Låt oss använda felformeln. Här är resultatet av beräkning en kontinuerlig och deriverbar funktion f(x) = sin(x/3) av indata och felet i indata x = 0.0001. Då gäller felformeln I punkten x x = π f(x) x f (x) = 0.0001 cos(x/3) 3 f(x) 0.0001 cos(π/3) 3 = 0.0001 1/2 3 = 0.00001667 0.00002. sin(π/3) kan således beräknas med ett fel som upgår till högst 0.00002. 1.9 Binära systemet I decimalsystemet (som har basen 10 och man kan använda 10 siffror 0, 1,..., 9), skrivas ett tal, t ex, 342.105, i utvecklad form 3 10 2 + 4 10 1 + 2 10 0 + 1 10 1 + 0 10 2 + 5 10 3 (19) I det binära systemet, som har basen 2 och man kan använda 2 siffror 0, 1, skrivas ett tal, t ex, 1101.11, i utvecklad form 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 1 + 1 2 2 (20) 15

(i decimalsystemet). Man skriver också eftersom (1101.11) 2 = (13.75) 10 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 1 + 1 2 2 = 8 + 4 + 1 + 0.5 + 0.25 = 13.75. eller För att skriva det binära talet a n 2 n + a n 1 2 n 1 + + a 1 2 1 + a 0 2 0 = x, (21) (a n a n 1... a 1 a 0 ) 2 = (x) 10 i decimalsystemet, dividera det decimala talet x med 2 och beteckna kvoten med x 1 ; resten blir a 0. Vidare dividerar man x 1 med 2 och betecknar kvoten med x 2 (resten är a 1 ), osv, och får det binära talet a 2, a 3,... a n. Varje reelt tal x i talsystemet med basen β = 2 kan framställas på formen (1) och (2) x = ±M 2 e. (22) x s förtecken ± är + eller ; exponentdelen e = ±E 1 E 2..., E k bestående av k siffror 0, 1; taldelen är ett helt tal M = ±.D 1 D 2..., D n, 0 D i < β = 2, i = 1, 2,..., n, (23) och M är ett tal med n binära decimaler 0, 1. För lägring av ett flyttal x används ett ord i datorn. Ordet har längden L = 32 (eller större) bitar, dvs binära siffror 0, 1. De enskilda bitarna i ett ord disponeras enligt följande: ± M e 1 n = 23 k = 8 Exempel 1.11. Binära flyttal i datorn 0.50000 +.100...00 +0..0 25.0 = 0.78125 2 5 +.110010...0 +0000101 0.046875 = 0.75 2 4 +.1100...00 0000100 Exempel 1.12 16

Beräkna 100 π då man i varje operation avkortar till 4 S. Först, utför addition av 100 termer: tre termer: 3.141 + 3.141 + 3.141 = 9.423 + 1 term: 9.423 + 3.141 = 12.564, avkortas till 4S 12.56. + 27 termer: 12.56 + 3.141 + + 3.141, avkortas till 4S (2D) 12.56 + 3.14 + + 3.14 = 97.34. + 1 term: 97.34 + 3.14 = 100.48, avkortas till 4S 100.4. + 68 termer: 100.4 + 3.141 + + 3.141, avkortas till 4S (1D) 100.4 + 3.1 + + 3.1 = 311.2. Addition av 100 termer ger således att 100 π = 311.2, ett resultat som är sämre än multiplikation 100 π = 314.1 (exakt med 4S, 1D). 1.10 Problem Problem 1.1 Flyttalsrepresentation: 23.49, 302.867, 0.000527532, 0.25700 avrundat till 4S (signifikanta siffror): 0.2349 10 2, 0.3029 10 3, 0.5275 10 3, 0.2570 10 5 Man kan skriva också 0.2349E02, 0.3029E03, 0.5275E-3, 0.2570E05. Problem 1.2 Hur många korrekta decimaler (KD) och signifikanta siffror (S) har närmevärdena a = 0.0987 ± 0.5 10 4, b = 2.370 ± 6 10 3, c = 0.00438 ± 10 5, d = 20.104 ± 4 10 3. Lösning. Enligt definitionerna, (1) är en signifikant siffra (S) av ett tal c (skrivet i decimalform) varje c s siffra utom nollor till vänster om den första ickenoll siffran, och (2) ett närmevärde ã har n korrekta decimaler om a = ã a 0.5 10 n (närmevärdets fel är mindre än eller lika med en halv enhet i n:te decimalen). Då får man a = 0.0987 ± 0.5 10 4 : 4 KD och 3 S, 17

b = 2.370 ± 6 10 3 = 2.370 ± 0.6 10 2, 0.5 10 2 < 0.6 10 2 < 0.5 10 1 : b har 1 KD och 1 (siffran 2) +1 KD = 2 S, c = 0.00438 ± 10 5 = 0.00438 ± 1 10 5, 0.5 10 5 < 1 10 5 < 0.5 10 4 : c har 4 KD och 4 KD - 2 (två nollor till vänster om siffran 4) = 2 S, d = 20.104 ± 4 10 3 = 20.104 ± 0.4 10 2, 0.5 10 3 < 0.4 10 2 < 0.5 10 2 : d har 2 KD och 2 (siffrorna 2, 0) +2 KD = 4 S. Problem 1.3 Låt x = 1.00 ± 0.005 och y = 2.00 ± 0.01. Bestäm gränser för absoluta fel i r och f då r = x y, f = x y. Lösning. Enligt definitionen, har talen x = 1.00 ± 0.005 = 1.00 ± 0.5 10 2 2 KD och y = 2.00 ± 0.01 = 2.00 ± 1 10 2 < 0.5 10 1 1 KD. Vi har 0.995 x 1.005, 1.99 y 2.01. 0.995 1.99 = 1.98 xy 1.005 2.01 = 2.02, r = xy = 2.00 ± 0.02. 1.99 y 2.01, 1 1.99 = 0.502 y 1 = 1 y 1 2.01 = 0.498. 0.995 x 1.005, 0.498 y 1 0.502. 0.995 0.498 = 0.495 xy 1 1.005 0.502 = 0.504, f = xy 1 = x y = 0.500 ± 0.005. Då blir gränserna för absoluta fel i r = xy och f = x/y resp. 0.02 och 0.005. Problem 1.4 Beräkna a b c a(b + c) =, with a = 0.81534, b = 35.724, c = 35.596. b 2 c2 18

och använd olika avrundningar. Lösning. Beräkna med 5S: R = a(b + c) b 2 c 2 b+c = 71.320, a(b+c) = 58.150, b 2 = 1276.2, c 2 = 1267.1, b 2 c 2 = 9.1290, Avrund till 4S, 3S, och 2S: R = 58.150 9.1290 = 6.3698 R = 58.15 9.129 R = 58 9.1 2 Funktionsberäkning 2.1 Serieutveckling = 6.370, R = 58.2 9.13 = 6.37, = 6.4, R = 60 10 = 6. Vid användning av serieutveckling för funktionsberäkning approximerar man seriens summa med en partialsumma. Låt S = vara en konvergent serie (S betecknar också dess summa). n=1 a n Partialsumman S N och resttermen R N definieras S N = N a n. R N = S S N = n=1 n=n+1 a n. (24) Resttermuppskattning innebär att vi uppskattar trunkeringfelet, dvs försöker finna ett tal R sådan att R N R (en övre grans för R N ). Exempel 2.1 Betrakta en alternerande serie S = ( 1) n+1 n=1 n 2 = 1 1 4 + 1 9 1 16 +.... (25) 19

Man kan visa att i det fallet R N a N+1. Vi har a N+1 = 1/(N + 1) 2 och R N 1 (N + 1) 2. (26) Bestäm hur många termer måste man ta med för att beräkna S med 3 KD: R N 0.5 10 3, vilket ger en olikhet Dess lösning är 1 (N + 1) 2 0.5 10 3. (27) N 2 10 3 1 = 2000 1 (28) och man kan ta N = 44 eftersom 44 2 = 1936 < 2000 < 45 2 = 2025. Exempel 2.2 Betrakta en serie med positiva termer Man kan skriva om (29) S = S = n=1 1 n 4 = 1 + 1 16 + 1 81 +.... (29) f(n), f(x) = 1 (x 1) (30) x 4 n=1 och visa att resttermen kan uppskattas R N = S S N = n=n+1 f(n) N f(x)dx. (31) Här R N N dx r dx = lim x 4 r N x = lim 4 r = lim r = x 3 r r N x 4 dx = ( 1 r 1 3 N 3 ) = ( 3) = 1 N 3 lim r 1 3N. (32) 3 20

Bestäm hur många termer måste man ta med för att beräkna S med 3 KD: R N 0.5 10 3, vilket ger en olikhet Dess lösning är 1 3N 3 0.5 10 3. (33) ( ) 2 10 3 1/3 ( ) 1/3 2000 N = 8.7 (34) 3 3 och man kan ta N = 9 eftersom 8 < N < 9. Exempel 2.3 Betrakta en serie med positiva och negativa termer S = a n, n=1 a n = e bn2 n sin(cn), (35) Här är b > 0 och c givna tal (parametrar). Bestäm hur många termer måste man ta med för att beräkna S med noggranhet ɛ; dvs, bestäm N sådan att R N < ɛ, R N = S S N = n=n+1 a n. (36) Jämför (35) med en känd serie som har positiva termer, dvs skriv en olikhet e bn2 a n = n sin(cn) = e bn2 n sin(cn) A n = e bn2 n (n > 1) (37) och använd (31) för en serie Vi har R N = n=n+1 r 2 = 1 2 lim r A n N+1 S = A n. n=1 r e bx2 xdx = lim e bx2 xdx = 1 r r N+1 2 lim e bx2 dx 2 = r N+1 (N+1) 2 e bu du = 1 2b lim r r 2 = 1 2b lim r e bu r2 (N+1) 2 = 1 2b e b(n+1)2. 21 (N+1) 2 de bu = (38)

Nu lös olikheten och bestäm gränsen för N: R N < ɛ : e b(n+1)2 2b < ɛ N > 1 b ln 1 1. (39) 2bɛ Om t ex b = 1 och ɛ = 10 4, får vi N > ln 10000 1 = 2.9184.... (40) 2 Då är det tillräckligt att ta med tre termer för att beräkna S i (35) (om b = 1 och c är ett godtyckligt tal) med noggranheten ɛ = 10 4. Kolla resultatet (ta c = 1 och räkna med fyra KD): 2 S n=1 e n2 n sin n = e 1 sin 1 + e 4 2 sin 2 = 0.7011 och 3 S n=1 e n2 n sin n = e 1 sin 1 + e 4 2 sin 2 + e 9 3 sin 3 = 0.7011 eftersom e 9 3 sin 3 < 0.5 10 4. Om b = 2 och ɛ = 10 4, får vi 1 10000 N > ln 1 = 1.9778.... (41) 2 4 Då är det tillräckligt att ta med två termer. 2.2 Problem Problem 2.1 22

Bestäm hur många termer måste man ta med för att beräkna S med tre och fyra KD: 3 Interpolation a) S = b) S = c) S = ( 1) n+1 ; n 1 n ; 3 sin n n ; 2 n=1 n=1 n=1 Antag att funktionsvärden f i = f(x i ) är kända i n + 1 olika punkter x i, i = 0, 1,..., n. Vi söker en funktion P (x) sådan att P (x) skall interpolera f i punkterna x i. 3.1 Interpolation med polynom P (x i ) = f i (i = 0, 1,... n). (42) Antag att vi känner funktionsvärden f i = f(x i ) i tre olika punkter x i, i = 0, 1, 2, och vill konstruera ett interpolationspolynom till f. Man kan bestämma t ex en linjär funktion, som går genom punkterna (x 0, f 0 ) och (x 1, f 1 ) och ett andragradspolynom P 2 (x), som går genom de tre (olika) punkterna (x 0, f 0 ), (x 1, f 1 ) och (x 2, f 2 ) : P 2 (x i ) = f i (i = 0, 1, 2). (43) Följande sats utgör grunden för polynominterpolation. Sats 3.1 Låt x 0, x 1,..., x n vara godtyckliga, från varandra skilda punkter. Till godtyckliga värden f 0, f 1,..., f n finns ett entydigt bestämt polynom P (x) av grad n sådant att P (x i ) = f i (i = 0, 1,... n). (44) Bevis (n = 1). För n = 1 är P = P 1 (x) = Ax + B en linjär funktion som går genom punkterna (x 0, f 0 ) och (x 1, f 1 ): f(x 0 ) = P 1 (x 0 ), f(x 1 ) = P 1 (x 1 ). (45) 23

Vi får ett linjärt ekvationssystem ned två obekanta A och B vilken ger Då, enligt (45), P 1 (x 0 ) = f 0 = Ax 0 + B, P 1 (x 1 ) = f 1 = Ax 1 + B, A = f(x 1) f(x 0 ) x 1 x 0, B = x 1f(x 0 ) x 0 f(x 1 ) x 1 x 0. P 1 (x) = f 0 + x x 0 x 1 x 0 (f 1 f 0 ). (46) Om f(x) är en linjär funktion, då är interpolation exakt och funktionen P 1 (x) i (46) sammanfaller med f(x). Interpolationsfel I interpolationspunkterna och ɛ(x) = f(x) P (x). ɛ(x 0 ) = ɛ(x 1 ) = 0 ɛ(x) 0, x [a, b om f(x) är en linjär funktion. Sats 3.2 Låt f vara en funktion med n + 1 kontinuerliga derivator inom det intervall som bildas av punkterna x 0, x 1,..., x n. Om P (x) är entydigt bestämda polynom av grad n som upfyller (44), gäller f(x) P (x) = f (n+1) (ξ(x)) (x x 0 )(x x 1 )... (x x n ) (47) (n + 1)! för något ξ(x) inom det intervall som bildas av punkterna x 0, x 1,..., x n. För n = 1, är P (x) en linjär funktion, och vi får f(x) P (x) = f (ξ(x)) (x x 0 )(x x 1 ). (48) 2 Sats 3.3 Låt f vara en funktion med 2 kontinuerliga derivator inom intervallet x 0, x 1 = x 0 +h och f(x) approximeras genom linjär interpolation mellan punkterna (x 0, f 0 ) och (x 1, f 1 ). (P (x) är entydigt bestämda polynom av grad 1 som upfyller (44) med n = 1). Då kan interpolationsfelet uppskattas f(x) P (x) h2 8 24 max x 0 x x 1 f (x). (49)

Bevis Enligt Sats 3.2 och (48), R(x) = f(x) P (x) = f (ξ(x)) (x x 0 )(x x 1 ) 2 för något ξ(x) inom det intervall som bildas av punkterna (x 0, x 1 ). Sätt x = x 0 +ph och utnyttja, att x 1 = x 0 + h (p = 1). Då fås Då R(x) = f (ξ(x 0 + ph)) h 2 p(p 1). 2 max 0 p 1 p(p 1) = 1 4 följer satsen. Figur 1: Linjär interpolation och MATLABkoder. 3.2 Linjär interpolation 3.2.1 Styckvis-linjär interpolation Antag att funktionsvärden f i = f(x i ) är kända i M + 1 olika punkter x i, i = 0, 1,..., M, t ex i punkterna x k = a + kh; k = 0, 1, 2,..., M, h = b a, (M = 2, 3,... ), (50) M som bildar ett likformigt nät. Styckvis linjär interpolation utföras genom att vi konstruerar en styckvis-linjär interpolationsfunktion F (M; x) som sammanfaller 25

med i f(x) i M + 1 interpolationspunkter. I varje intervall [x k, x k+1 fås F (M; x) genom (46): F (M; x) = f(x k ) + x x k x k+1 x k (f(x k+1 ) f(x k )), x [x k, x k+1. Definiera framåtdifferensen f k = f k+1 f k där f k = f(x k ); då får vi F (M; x) = f k + (x x k ) f k h, x [x k, x k+1. (51) Exempel 3.1 Linjär Lagranges interpolation Använd linjär Lagranges interpolation och beräkna ln 9.2 med hjälp av ln 9.0 = 2.1972 och ln 9.5 = 2.2513. Beräkna interpolationsfelet. Det exakta värdet är a = ln 9.2 = 2.2192 (4D). Lösning. Här kan man utföra linjär Lagranges interpolation genom linjär interpolation i punkterna (x 0, f 0 ) och (x 1, f 1 ) (se ovan). De linjära funktionerna ger Lagranges polynom L 0 (x) = x x 1 x 0 x 1, L 1 (x) = x x 0 x 1 x 0 då p 1 (x) = L 0 (x)f 0 + L 1 (x)f 1 = x x 1 x 0 x 1 f 0 + x x 0 x 1 x 0 f 1. Vi har x 0 = 9.0, x 1 = 9.5, f 0 = 2.1972, och f 1 = 2.2513. Beräkna L 0 (9.2) = 9.2 9.5 9.0 9.5 = 0.6, L 1(9.2) = 9.2 9.0 9.5 9.0 = 0.4, ln 9.2 ã = p 1 (9.2) = L 0 (9.2)f 0 + L 1 (9.2)f 1 = 0.6 2.1972 + 0.4 2.2513 = 2.2188. Interpolationsfelet är ɛ = a ã = 2.2192 2.2188 = 0.0004. 3.2.2 Andragradsinterpolation Andragradsinterpolation utföras med hjälp av ett polynom av grad n = 2 i tre (olika) noder x 0, x 1, x 2, eftersom man kan entydigt bestämma ett andragradspolynom P 2 (x), som går genom de tre (olika) punkterna (x 0, f 0 ), (x 1, f 1 ) och (x 2, f 2 ) (se Sats 3.1): P 2 (x i ) = f i (i = 0, 1, 2). (52) 26

Lagranges polynom av grad 2 är Uttrycket l 0 (x) = (x x 1)(x x 2 ) (x 0 x 1 )(x 0 x 2 ) ; l 1 (x) = (x x 0)(x x 2 ) (x 1 x 0 )(x 1 x 2 ) ; (53) l 2 (x) = (x x 0)(x x 1 ) (x 2 x 0 )(x 2 x 1 ). P 2 (x) = f 0 l 0 (x) + f 1 l 1 (x) + f 2 l 2 (x). (54) ger ett andragradspolynom, som satisfierar (52): eftersom P 2 (x j ) = f j, j = 0, 1, 2, l 0 (x 1 ) = l 0 (x 2 ) = 0, l 0 (x 0 ) = 1, l 1 (x 0 ) = l 1 (x 2 ) = 0, l 1 (x 1 ) = 1, (55) l 2 (x 0 ) = l 2 (x 1 ) = 0, l 2 (x 2 ) = 1. Om Q 2 (x) är ett annat andragradspolynom sådant att Q 2 (x j ) = f j, då är R 2 (x) = P 2 (x) Q 2 (x) också ett andragradspolynom som är lika med 0 i tre olika punkter x 0, x 1, x 2 ; dvs den andragradsekvationen R 2 (x) = 0 har tre olika rötter, som ger R 2 (x) 0. Vi har visat att Lagranges interpolationsformel (54) definierar ett entydigt bestämt andragradsinterpolationspolynom så snart interpolationsdata [interpolationsnoder x 0, x 1, x 2 (tre olika punkter) och interpolationsordinator f 0, f 1, f 2 är fixerad. Exempel 3.2 Låt x 0 = 1, x 1 = 2, x 2 = 4 vara tre olika interpolationsnoder. Motsvarande Lagranges polynom (53) är: l 0 (x) = x 2 x 4 1 2 1 4 = 1 3 (x2 6x + 8); l 1 (x) = x 1 x 4 2 1 2 4 = 1 2 (x2 5x + 4); l 2 (x) = x 1 4 1 x 2 4 2 = 1 6 (x2 3x + 2). 27

Lagranges andragradsinterpolationspolynom är P 2 (x) = f 0 3 (x2 6x + 8) f 1 2 (x2 5x + 4) + f 2 6 (x2 3x + 2). Figur 2: Andragradsinterpolationspolynom P 2 (x) = 0.5(x 2)(x 3) som imterpolerar interpolationsdata (x 0, f 0 ), (x 1, f 1 ), (x 2, f 2 ) = (1, 1), (2, 0), (4, 1). Betrakta interpolationsordinator f 0 = f 2 = 1, f 1 = 0, dvs interpolationsdata (x 0, f 0 ), (x 1, f 1 ), (x 2, f 2 ) = (1, 1), (2, 0), (4, 1). Då får vi ett entydigt bestämt andragradsinterpolationspolynom P 2 (x) = 1 2 (x2 5x + 6) = 1 (x 2)(x 3) 2 och P 2 (x) sammanfaller med givna interpolationsordinator i interpolationspunkterna: P 2 (1) = 1; P 2 (2) = 0; P 2 (4) = 1. Om f(x) = ax 2 + bx + c, a 0 är ett andragradspolynom, då är andragradsinterpolation exakt och funktionen P 2 (x) i (54) sammanfaller med f(x). Interpolationsfelet ɛ(x) = f(x) P 2 (x) ɛ(x 0 ) = ɛ(x 1 ) = ɛ(x 2 ) = 0 28

Figur 3: MATLABkoder för andragradsinterpolationspolynom P 2 (x) = 0.5(x 2)(x 3) i Exemplet 2.2. och om f(x) är ett andragradspolynom. r(x) 0, x [x 0, x 2 Exempel 3.3 Lagranges andragradsinterpolation Använd Lagranges andragradsinterpolation och beräkna ln 9.2 med hjälp av ln 9.0 = 2.1972, ln 9.5 = 2.2513, och ln 11.0 = 2.3979; bestäm interpolationsdata; beräkna interpolationsfelet [det exakta värdet är a = ln 9.2 = 2.2192 (4D). Lösning. Interpolationsdata är Sätt (x 0, f 0 ), (x 1, f 1 ), (x 2, f 2 ) = (9.0, 2.1972), (9.5, 2.2513), (11.0, 2.3979). L 0 (x) = l 0(x) l 0 (x 0 ) = (x x 1)(x x 2 ) (x 0 x 1 )(x 0 x 2 ), L 1 (x) = l 1(x) l 1 (x 1 ) = (x x 0)(x x 2 ) (x 1 x 0 )(x 1 x 2 ), L 2 (x) = l 2(x) l 2 (x 2 ) = (x x 0)(x x 1 ) (x 2 x 0 )(x 2 x 1 ), som ger Lagranges andragradsinterpolationspolynom p 2 (x) = L 0 (x)f 0 + L 1 (x)f 1 + L 2 (x)f 2. Här x 0 = 9.0, x 1 = 9.5, x 2 = 11.0 och f 0 = 2.1972, f 1 = 2.2513, f 2 = 2.3979. Beräkna L 0 (x) = (x 9.5)(x 11.0) (9.0 9.5)(9.0 11.0) = x2 20.5x + 104.5, L 0 (9.2) = 0.5400; 29

L 1 (x) = L 2 (x) = och få resultatet (x 9.0)(x 11.0) (9.5 9.0)(9.5 11.0) = 1 0.75 (x2 20x + 99), L 1 (9.2) = 0.4800; (x 9.0)(x 9.5) (11.0 9.0)(11.0 9.5) = 1 3 (x2 18.5x + 85.5), L 2 (9.2) = 0.0200 som är exakt med 4D. där ln 9.2 p 2 (9.2) = L 0 (9.2)f 0 + L 1 (9.2)f 1 + L 2 (9.2)f 2 = 0.5400 2.1972 + 0.4800 2.2513 0.0200 2.3979 = 2.2192, Lagranges polynom av grad n = 2, 3... är l 0 (x) = w 0 1(x)w 0 2(x)... w 0 n(x); l k (x) = w k 0(x)w k 1(x)... w k k 1(x)w k k+1... w k n(x), k = 1, 2..., n 1; l n (x) = w n 0 (x)w n 1 (x)... w n n 1(x), och w k j (x) = x x j x k x j ; k = 0, 1,... n, j = 0, 1,... n, k j. l k (x k ) = 1, l k (x j ) = 0, j k. Lagranges allmänna interpolationspolynom är P n (x) = f 0 l 0 (x) + f 1 l 1 (x) +... + f n 1 l n 1 (x) + f n l n (x), n = 1, 2,..., (56) som sammanfaller med ett entydigt bestämt polynom P n (x) av grad n sådant att P n (x i ) = f i (i = 0, 1,... n). dvs P n (x) går genom interpolationsnoder och ordinator. Interpolationselet uppskattas ɛ n (x) = f(x) P n (x) = (x x 0 )(x x 1 )... (x x n ) f n+1 (t) (n + 1)!, 30 n = 1, 2,..., t (x 0, x n )

om f(x) har (n + 1) kontinuerliga derivator. Exempel 3.4 Felet vid linjär interpolation i Exempel 3.3 Lösning. Betrakta interpolationsdata (x 0, f 0 ) och (x 1, f 1 ). Sätt L 0 (x) = x x 1 x 0 x 1, L 1 (x) = x x 0 x 1 x 0, och skriv motsvarande Lagranges polynom p 1 (x) = L 0 (x)f 0 + L 1 (x)f 1 = x x 1 x 0 x 1 f 0 + x x 0 x 1 x 0 f 1. I Exempel 3.3, x 0 = 9.0, x 1 = 9.5, f 0 = 2.1972, f 1 = 2.2513. och ln 9.2 ã = p 1 (9.2) = L 0 (9.2)f 0 + L 1 (9.2)f 1 = 0.6 2.1972 + 0.4 2.2513 = 2.2188. Interpolationsfelet i punkten x = 9.2 är ɛ = a ã = 2.2192 2.2188 = 0.0004. Enligt (48) och (49), kan felet upskattas där Vidare ɛ 1 (x) = f(x) p 1 (x) = (x x 0 )(x x 1 ) f (t), t (9.0, 9.5) 2 f(t) = ln t, f (t) = 1/t, f (t) = 1/t 2. ɛ 1 (x) = (x 9.0)(x 9.5) ( 1) 2t 2, ɛ 1(9.2) = (0.2)( 0.3) ( 1) 2t 2 = 0.03 t 2 (t (9.0, 9.5)), 0.00033 = 0.03 9.5 2 = min Vi har t [9.0,9.5 0.03 t 2 ɛ 1(9.2) max t [9.0,9.5 0.03 t 2 = 0.03 9.0 = 0.00037 2 0.00033 ɛ 1 (9.2) 0.00037 (57) som är mindre än det aktuella felet 0.0004 = ɛ = a ã. Beräkna resultatet med 5D istället för 4D ln 9.2 ã = p 1 (9.2) = 0.6 2.19722 + 0.4 2.25129 = 2.21885. Interpolationsfelet blir ɛ = 2.21920 2.21885 = 0.00035 som satisfierar (57) eftersom 0.00035 ligger mellan 0.00033 och 0.00037. 31

0 y 0 y 0 3.2.3 Felprincipuppskattning Beräkna först och sedan p 1 (9.2) = 2.21885 p 2 (9.2) = 0.54 2.1972 + 0.48 2.2513 0.02 2.3979 = 2.21916 med 5D. Differensen p 2 (9.2) p 1 (9.2) = 2.21916 2.21885 = 0.00031 ger ett approximativt fel för p 1 (9.2): 0.00031 är en approximation till felet 0.00035 ovan. 3.3 Differenser 3.3.1 Differensföljder och differensschema Betrakta ett nät som består av punkter (funktionsvärdena) y 0, y 1, y 2,.... Differensoperatorn avbildar talföljden {y n } på talföljden y n = y n+1 y n (58) y n kallas första differensföljden av {y n }. Differensföljder av högre ordning definieras rekursivt: Vi har k y n = ( k 1 y n ) = k 1 y n+1 k 1 y n, n = 0, 1, 2,.... (59) y 0 = y 1 y 0, y 1 = y 2 y 1,.... (60) 2 y 0 = ( y) = y 1 y 0 = y 2 y 1 (y 1 y 0 ) = y 2 2y 1 + y 0. (61) Ett differensschema består av en (given) talföljd {y n } och dess differensföljder 1 y 1 2 y 0 y 1 3 y 0 2 y 2 2 y 1. y 2 3 y 1....... n y n y n 1 32

Exempel 3.5 En talföljd {y n } och dess differensföljder 3.3.2 Framåtdifferenser 0 1 8 1 9 8 16 0 2 25 8 24 3 49 Betrakta ett nät som består av punkter x 0, x 1, x 2,..., x i x j, i j, och motsvarande f(x) s funktionsvärdena f 0, f 1, f 2,.... Definiera första framåtdifferenserna f[x 0, x 1 = f 1 f 0 x 1 x 0 ; f[x 1, x 2 = f 2 f 1 x 2 x 1 ;... (jämför med den första differensföljden f k = f k+1 f k ). Andragradsframåtdifferenserna definieras f[x 0, x 1, x 2 = f[x 1, x 2 f[x 0, x 1 x 2 x 0 ; (62) f[x 1, x 2, x 3 = f[x 2, x 3 f[x 1, x 2 x 3 x 1,.... Framåtdifferenserna av högre ordning definieras rekursivt: f[x 0, x 1,..., x n, x n+1 = f[x 1, x 2,..., x n+1 f[x 0, x 1,... x n x n+1 x 0. Man kan visa att differensernas värden är oberoende av ordningen i nätet x 0, x 1, x 2,..., x n, dvs, t ex, f[x 0, x 1,..., x n, x n+1 = f[x 1, x 0,..., x n+1, x n =... Visa det för första framåtdifferenserna (n = 1): f[x 1, x 0 = f 0 f 1 x 0 x 1 = f 1 f 0 x 1 x 0 = f[x 0, x 1. 33

Om n = 2, får vi f[x 0, x 1, x 2 = f 0 (x 0 x 1 )(x 0 x 2 ) + f 1 (x 1 x 0 )(x 1 x 2 ) f 2 + (x 2 x 0 )(x 2 x 1 ). Om man byter x 0, x 1 och x 2, då bytas bara termernas ordning men inte deras summa. Differensschemat övergår i x 0 f(x 0 ) f[x 0, x 1 x 1 f(x 1 ) f[x 0, x 1, x 2 f[x 1, x 2 f[x 0, x 1, x 2, x 3 x 2 f(x 2 ) f[x 1, x 2, x 3. f[x 2, x 3 f[x 1, x 2, x 3, x 4....... f[x n 1, x n x n f(x n ) 3.3.3 Framåtdifferenser ekvidistanta fallet I många tillämpningar är nätpunkterna (noder) ekvidistanta: x j = x 0 + jh, j = 0, 1, 2,... (63) Antag att f j = f(x 0 +jh) är givna tal. Då kan man skriva första framåtdifferenserna f[x 0, x 1 = f[x 0, x 0 + h = f(x 0 + h) f(x 0 ) = f 1 f 0 x 0 + h x 0 h och andragradsframåtdifferenserna f[x 0, x 1, x 2 = 1 2h ( f1 1!h f ) 0 1!y = f 0 1!h, (64) = 2 f 0 2!h 2, (65) etc. Framåtdifferenserna av högre ordning i ekvidistanta noder definieras f[x 0, x 0 + h,..., x 0 + nh = n f 0 n!h n. Exempel 3.6 34

Bestäm differensschemat (med 3D) för y = f(x) = 1 1 + x 2, i noderna x k = kh, k = 0, 1, 2,..., 10, h = 0.1: 0.0 1.000 0.100 0.1 0.990 0.900 0.280 0.167 0.2 0.962 0.850 0.450 0.3 0.917 3.4 Interpolationspolynom och differenser 3.4.1 Newtons allmäna interpolationsformel Låt P n (x) vara interpolationspolynomet (av grad n) till funktionen f(x) i noderna x i, i = 0, 1, 2,..., n, som satisfierar interpolationsvillkoren P n (x i ) = f(x i ), i = 0, 1, 2,... n. (66) Då uttrycks Lagranges interpolationspolynom av grad n som interpolerar f(x) i noderna x i (i = 0, 1,..., n) på följande sätt P 1 (x) = f 0 + (x x 0 )f[x 0, x 1 ; (67) P 2 (x) = f 0 + (x x 0 )f[x 0, x 1 + (x x 0 )(x x 1 )f[x 0, x 1, x 2 (68) P n (x) = f 0 + (x x 0 )f[x 0, x 1 +... + (x x 0 )(x x 1 )(x x n 1 )f[x 0, x 1,... x n. (69) (69) kallas Newtons allmäna interpolationsformel. Iinterpolationspolynomet av högre ordning definieras rekursivt: P k+1 = P k (x) + (x x 0 )... (x x k )f[x 0, x 1,... x k+1. Visa (67). Vi har P 1 (x 0 ) = f 0 och P 1 (x 1 ) = f 0 + (x 1 x 0 ) f(x 1) f(x 0 ) x 1 x 0 = f 0 + (f 1 f 0 ) = f 1. 35...

Då är P 1 (x) ett interpolationspolynom av grad 1, dvs den linjära funktionen som uppfyller interpolationsvillkoren (66): P 1 (x i ) = f(x i ), i = 0, 1. Visa (68). Vi har ett interpolationspolynom av grad 2 P 2 (x) = P 1 (x) + (x x 0 )(x x 1 )f[x 0, x 1, x 2 som satisfierar Vidare P 2 (x i ) = P 1 (x i ) + 0 = f i, i = 0, 1. P 2 (x 2 ) = f 0 + (x 2 x 0 )f[x 0, x 1 + (x 2 x 0 )(x 2 x 1 )f[x 0, x 1, x 2 = f 0 + (x 2 x 0 )f[x 0, x 1 + (x 2 x 1 )(f[x 1, x 2 f[x 0, x 1 ) = f 0 + (x 1 x 0 )f[x 0, x 1 + (x 2 x 1 )f[x 1, x 2 (70) = f 0 + (f 1 f 0 ) + (f 2 f 1 ) = f 2. Enligt Sats 3.1, ger (70) ett entydigt bestämt interpolationspolynom av grad 2 som interpolerar funktionen f(x) i tre noderna x 0, x 1, x 2. Exempel 3.7 Bestäm f(9.2) då följande funktionsvärden är kända: Vi har I punkten x = 9.2, 8.0 2.079442 0.117783 9.0 2.197225 0.006433 0.108134 0.000411 9.5 2.251292 0.005200 0.097735 11.0 2.397895 f(x) p 3 (x) = 2.079442 + 0.117783(x 8.0) 0.006433(x 8.0)(x 9.0) + 0.000411(x 8.0)(x 9.0)(x 9.5). f(9.2) 2.079442 + 0.141340 0.001544 0.000030 = 2.219208. Observera att interpolationsfelet minskar när n ökar: p 1 (9.2) = 2.220782, p 2 (9.2) = 2.219238, p 3 (9.2) = 2.219208. 36

3.4.2 Newtons interpolationsformel i ekvidistanta fallet Betrakta ekvidistanta interpolationspunkter x 0, x 0 + h, x 0 + 2h,... och sätt r = x x 0, h x = x 0 + rh, x x 0 = rh, (x x 0 )(x x 0 h) = r(r 1)h 2,.... Då övergår (69) i Newtons interpolationsformel i ekvidistanta fallet eller f 0 + r 1! f 0 + f(x) = f(x 0 + rh) = P n (x) + ɛ n (x) = (71) r(r 1) 2 f 0 + 2! f(x) P n (x) = f 0 + r f 0 + Interpolationsfelet uppskattas ɛ n (x) = f(x) P n (x) = r(r 1)... (r n + 1) n f 0 + ɛ n (x), (72) n! r(r 1) 2 f 0 + + 2! (om f(x) har (n + 1) kontinuerliga derivator). Exempel 3.8 r(r 1)... (r n + 1) n f 0. n! hn+1 (n + 1)! r(r 1)... (r n)f (n+1) (t), n = 1, 2,..., t (x 0, x n ) Bestäm cosh(0.56) då följande funktionsvärden är kända: 0.5 1.127626 0.6 1.185645 0.7 1.255169 0.8 1.337435 Utför feluppskattning. Lösning. Konstruera differensschemat (med 6D) 0.5 1.127626 0.058019 0.6 1.185645 0.011505 0.069524 0.001237 0.7 1.255169 0.012742 0.082266 0.8 1.337435 37

Vi har och x = 0.56, x 0 = 0.50, h = 0.1, r = x x 0 h cosh(0.56) p 3 (0.56) = 1.127626+0.6 0.058019+ 0.6( 0.4) 2 = 0.56 0.50 0.1 1.127626 + 0.034703 0.001424 + 0.000039 = 1.160944. = 0.6, 0.011505+ 0.6( 0.4)( 1.4) 0.001237 = 6 Feluppskattning. Vi har f(t) = cosh(t), f (4) (t) = cosh (4) (t) = cosh(t), n = 3, h = 0.1, och r = 0.6, och ɛ 3 (0.56) = cosh(0.56) p 3 (0.56) = (0.1)4 (4)! 0.6(0.6 1)(0.6 2)(0.6 3) cosh(4) (t) = A cosh(t), där A = 0.0000036, A cosh 0.8 ɛ 3 (0.56) A cosh 0.5 t (0.5, 0.8) och p 3 (0.56) + A cosh 0.8 cosh(0.56) p 3 (0.56) + A cosh 0.5, 1.160939 cosh(0.56) 1.160941 3.5 Problem Problem 3.1 Använd ett likformigt nät som består av M + 1 interpolationspunkter och konstruera en styckvis linjär interpolationsfunktion F (M; x) och ett andragradsinterpolationspolynom till funktionerna f(x) nedan; rita funktionskurvor och beräkna interpolationsfelet (med 3D) i punkten x j+0.5 = x j + 0.5h, 0 j M. a) f(x) = x 3 3x 2 + 2; a = 1, h = 1, M = 2, j = 0; b) f(x) = sin πx; a = 0, h = 0.5, M = 2, j = 1; c) f(x) = x; a = 0, h = 1, M = 2, j = 1; d) f(x) = 1 ; a = 2, h = 0.2, M = 1, j = 0. x Problem 3.2 38

Bestäm differensscheman (med 2D) i noderna x k = kh, k = 0, 1, 2,..., N för a) f(x) = 2x + 1, h = 0.2, N = 5; b) f(x) = (2x 2 + 1) 2, h = 0.1, N = 10. Lösning till problemet 2.1 a) Vi har M = 2, M + 1 = 3, x 0 = a = 1. Det likformiga nätet är x j = x 0 + jh, j = 0, 1, 2. Bestäm ett andragradsinterpolationspolynom. Konstruera differensschemat i noderna x 0 = 1, x 1 = 2, x 2 = 3 för f(x) = x 3 3x 2 + 2 med f(x 0 ) = 0, f(x 1 ) = 2, f(x 2 ) = 2: Vi har n = 2 och 1 0 2 2 2 6 4. 3 2.... x 0 = 1, h = 1, r = x x 0 h = x 1. Interpolationspolynomet (ett andragradspolynom) P 2 (x) = f 0 + r f 0 + r(r 1) 2 f 0 = 0 + (x 1)( 2) + 2! (x 1)(x 2) 6 = (x 1)(3x 8). 2 Interpolationspolynomet satisfierar interpolationsvillkor P 2 (x j ) = f j, j = 0, 1, 2: och P 2 (1) = 0, P 2 (2) = 2, P 2 (3) = 2. Vi har x j+0.5 = x j + 0.5h = x 0 + 0.5h = 1 + 0.5 = 1.5 (j = 0). I punkten x 0.5 = 1.5, r = 1.5 1 = 0.5, f(1.5) P 2 (1.5) = (1.5 1)(3 1.5 8) = 0.5 ( 3.5) = 1.75. 39

ɛ 2 (x 0.5 ) = ɛ 2 (1.5) = f(1.5) P 2 (1.5) = 1 6 0.5(0.5 1)(0.5 2) 6 = 3 8 = 0.375, (73) Interpolationsfelet uppskattas ɛ 2 (x) = f(x) P 2 (x) = h3 (3)! r(r 1)(r 2)f (3) (t), t (1, 3) (f(x) = x 3 3x 2 + 2 har 3 kontinuerliga derivator). Vi har f(t) = t 3 3t 2 + 2, f (3) (t) = 6, n = 2, h = 1, r = 0.5 och (vi räknar med 3D utan avr.) som sammanfaller med det aktuella interpolationsfelets värde ɛ 2 (1.5) = f(1.5) P 2 (1.5) = 1.375 ( 1.75) = 0.375, (74) Styckvis linjär interpolation utföras genom att vi konstruerar en styckvis linjär interpolationsfunktion F (M; x) som sammanfaller med M + 1 givna interpolationsvärdena f(x 0 ) = y 0 = 0, f(x 1 ) = y 1 = 2 och f(x 2 ) = y 2 = 2. Här M = 2 (två interpolationsintervall). I varje intervall [x k, x k+1, k = 0, 1, där (x k, y k ) är interpolationsdata (x 0, y 0 ) (x 1, y 1 ) (x 2, y 2 ) (1, 0) (2, 2) (3, 2) fås F (M; x) genom (46): F (M; x) = F (3; x) = y k + x x k x k+1 x k (y k+1 y k ), x [x k, x k+1, k = 0, 1 (två interpolationsintervall [x 0, x 1 och [x 1, x 2 : [1, 2 och [2, 3). k = 0: F (3; x) = y 0 + x x 0 (y 1 y 0 ) = 0 + x 1 ( 2 0) = 2(x 1) = 2 2x, x [1, 2. x 1 x 0 2 1 k = 1: F (3; x) = y 1 + x x 1 (y 2 y 1 ) = 2 + x 2 (2 ( 2)) = 2(2x 5), x [2, 3. x 2 x 1 3 2 så att (se Fig. 4) F (3; x) = 2 2x, x [1, 2, = 2(2x 5), x [2, 3, 40

Kolla interpolationsvillkor: F (3; 1) = 0 = y 0, F (3; 2) = 2 = y 1, F (3; 3) = 2 = y 2. Interpolationsfelet uppskattas enligt Sats 3.2 ɛ 1 (x) = f(x) F (3; x) = f(x) (2 2x) h2 8 max 1 x 2 f (x) = 1 8 max 1 x 2 6(x 1) = 6 8 = 0.75. Absolutbeloppet av det aktuella interpolationsfelets i punkten x 0.5 = 1.5 är mindre än 0.75. f(1.5) F (3; 1.5) = 1.375 (2 2 1.5) = 0.375, Figur 4: Andragradsinterpolationspolynom P 2 (x) = (x 1)(3x 8) och styckvis linjär interpolationsfunktion F (3; x) som imterpolerar f(x) = x 3 3x 2 + 2 (interpolationsdata (x 0, f 0 ), (x 1, f 1 ), (x 2, f 2 ) = (1, 0), (2, 2), (3, 2)). Lösning till problemet 2.1 b) Vi har M = 2, M + 1 = 3, x 0 = a = 0, det likformiga nätet x j = x 0 + jh, j = 0, 1, 2. Konstruera differensschemat i noderna x 0 = 0, x 1 = h = 0.5, x 2 = 2h = 1 för f(x) = sin πx med f(x 0 ) = 0, f(x 1 ) = 1, f(x 2 ) = 0: 0.0 0.0 1.0 0.5 1.0 2 1.0. 1.0 0.0.... Vi har n = 2, x 0 = 0, h = 0.5, r = x x 0 h 41 = 2x.

Interpolationspolynomet (ett andragradspolynom) P 2 (x) = f 0 + r f 0 + r(r 1) 2 f 0 = 0 + 2x 1 + 2! 2x(x 1) ( 2) = 4x(1 x). 2 Interpolationspolynomet satisfierar interpolationsvillkor P 2 (x j ) = f j, j = 0, 1, 2: och P 2 (0) = 0, P 2 (0.5) = 1, P 2 (1) = 0. Vi har x j+0.5 = x j + 0.5h = x 1 + 0.5h = 0.5 + 0.25 = 0.75 (j = 1). I punkten x 1.5 = 0.75 = 3/4, r = 2 0.75 = 1.5, f(0.75) P 2 (0.75) = 4 0.75(1 0.75) = 3 0.25 = 0.75. Interpolationsfelet uppskattas ɛ 2 (x) = f(x) P 2 (x) = h3 (3)! r(r 1)(r 2)f 3 (t), t (0, 1) (f(x) = sin πx har 3 kontinuerliga derivator). Vi har f(t) = sin πt, f (3) (t) = π 3 cos πt, n = 2, h = 0.5, r = 1.5 och (vi räknar med 3D utan avrundning) ɛ 2 (x 1.5 ) = ɛ 2 (0.75) = f(0.75) P 2 (0.75) = (0.5)3 1.5(1.5 1)(1.5 2) ( π 3 cos πt) = 6 0.125 0.375π 3 cos πt = 0.243 cos πt. 6 Det aktuella interpolationsfelets värde ɛ 2 (0.75) = f(0.75) P 2 (0.75) = sin 0.75π 0.75 = 0.5 2 0.75 0.707 0.750 = 0.043, ligger mellan de extrema cos πts värden, 0 t 1, så att 0.243 cos (π 1) ɛ 2 (0.75) 0.243 cos (π 0), 0.243 0.043 0.243. Styckvis linjär interpolation. Konstruera en styckvis linjär interpolationsfunktion F (M; x) som sammanfaller med M+1 givna interpolationsvärdena f(x 0 ) = 42

y 0 = 0, f(x 1 ) = y 1 = 1 och f(x 2 ) = y 2 = 0. Här M = 2 (två interpolationsintervall). I varje intervall [x k, x k+1, k = 0, 1, där (x k, y k ) är interpolationsdata (x 0, y 0 ) (x 1, y 1 ) (x 2, y 2 ) (0, 0) (0.5, 1) (1, 0) fås F (M; x) genom (46): F (M; x) = F (3; x) = y k + x x k x k+1 x k (y k+1 y k ), x [x k, x k+1, k = 0, 1 (två interpolationsintervall [x 0, x 1 och [x 1, x 2 : [0, 0.5 och [0.5, 1). k = 0: F (3; x) = y 0 + x x 0 (y 1 y 0 ) = 0 + x 0 (1 0) = 2x, x [0, 0.5. x 1 x 0 0.5 0 k = 1: F (3; x) = y 1 + x x 1 (y 2 y 1 ) = 1 + x 0.5 (0 1) = 2 2x, x [0.5, 1. x 2 x 1 1 0.5 så att (se Fig. 5) F (3; x) = 2x, x [0, 0.5, = 2 2x, x [0.5, 1, Kolla interpolationsvillkor: F (3; 0) = 0 = y 0, F (3; 0.5) = 1 = y 1, F (3; 1) = 0 = y 2. Interpolationsfelet uppskattas enligt Sats 3.2 ɛ 1 (x) = f(x) F (3; x) = f(x) (2 2x) h2 8 max 0.5 x 1 f (x) = 1 32 max 0.5 x 1 π2 sin πx π2 32 0.308 Absolutbeloppet av det aktuella interpolationsfelets i punkten x 1.5 = 0.75 f(0.75) F (3; 0.75) = sin 0.75π (2 2 0.75) = 0.5 2 (2 2 0.75) 0.707 0.5 = 0.207 är mindre än 0.308. Problem 3.3 (se Problem 17.3.1, AEM) Använd linjär Lagranges interpolation och beräkna ln 9.3 med hjälp av ln 9.0 = 2.1972 och ln 9.5 = 2.2513; bestäm interpolationsdata. Lösning. Interpolationsdata (x 0, f 0 ) och (x 1, f 1 ) ger L 0 (x) = x x 1 x 0 x 1, L 1 (x) = x x 0 x 1 x 0, 43

Figur 5: Andragradsinterpolationspolynom P 2 (x) = 4x(1 x) och styckvis linjär interpolationsfunktion F (3; x) som imterpolerar f(x) = sin πx (interpolationsdata (x 0, f 0 ), (x 1, f 1 ), (x 2, f 2 ) = (0, 0), (0.5, 1), (1, 0)). och Lagranges polynom p 1 (x) = L 0 (x)f 0 + L 1 (x)f 1 = x x 1 x 0 x 1 f 0 + x x 0 x 1 x 0 f 1. Här, x 0 = 9.0, x 1 = 9.5, f 0 = 2.1972, och f 1 = 2.2513. L 0 (x) = x 9.5 ( 0.5) = 2(9.5 x) = 19 2x, L 1(x) = x 9.0 0.5 Lagranges polynom är p 1 (x) = L 0 (x)f 0 + L 1 (x)f 1 = = 2(x 9) = 2x 18. (19 2x)2.1972+(2x 18)2.2513 = 2x(2.2513 2.1972)+19 2.1972 18 2.2513 = 0.1082x+1.2234. Beräkna och få L 0 (9.3) = 9.3 9.5 9.0 9.5 = 0.4, L 1(9.3) = 9.3 9.0 9.5 9.0 = 0.6, ln 9.3 ã = p 1 (9.3) = L 0 (9.3)f 0 + L 1 (9.3)f 1 = 0.4 2.1972 + 0.6 2.2513 = 2.2297. Felet är ɛ = a ã = 2.2300 2.2297 = 0.0003. Problem 3.4 (se Problem 17.3.2, AEM) Upskatta interpolationsfelet vid linjär interpolation i Problem 3.3; det exakta värdet är ln 9.3 = 2.2300 med 4D. Lösning. Upskatta interpolationsfelet med hjälp av (47) (n = 1) ɛ 1 (x) = f(x) p 1 (x) = (x x 0 )(x x 1 ) f (t), t (9.0, 9.5) 2 44