Oefz4 Oplossingen

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Oefeningen Numerieke Wiskunde

Oefenzitting 4: Veelterminterpolatie
2020

1 Enkele korte vraagjes


1. Waar of niet waar? Voor elke tabel van meetwaarden (xi , fi ), i = 0, . . . , n bestaat er een veelterm van graad
k < n die door deze meetpunten interpoleert. Waarom?

Niet waar. We hebben n + 1 vergelijkingen voor slechts k + 1 < n + 1 onbekenden. We hebben dus een
ondergedetermineerd stelsel. Dit stelsel heeft niet steeds een oplossing.

2. Waar of niet waar? Er bestaat een tabel van meetwaarden (xi , fi ), i = 0, . . . , n waarvoor een interpolerende
veelterm van graad k < n bestaat. Waarom?

Waar. Beschouw volgende tabel: (x0 , yk (x0 )), (x1 , yk (x1 )), . . . , (xn , yk (xn )) met yk een veelterm van graad
k en n > k. Het is eenvoudig in te zien dat yk deze tabel interpoleert.

3. Waar of niet waar? Gegeven een (n+1)-keer continu afleidbare functie. Bij interpolatie van deze functie met een
interpolerende veelterm, daalt de interpolatiefout altijd bij stijgend aantal interpolatiepunten. Waarom?

Niet waar, de interpolatiefout daalt niet uniform. Zie bijvoorbeeld de Runge-functie voor equidistante
interpolatiepunten.

2 Interpolatie met monomiale basis


Gegeven onderstaande tabel met meetwaarden

x f (x)
−1 −3
0 2
1 1
2 0

Deze willen we interpoleren met een veelterm van de vorm y3 (x) = a0 + a1 x + a2 x2 + a3 x3 met monomiale
basisfuncties.

1. Schrijf dit als een stelsel lineaire vergelijkingen in de veranderlijken ai . Los op naar ai .

    
1 −1 1 −1 a0 −3
1 0 0 0 a1   2 
   =  
1 1 1 1  a2   1 
1 2 4 8 a3 0

1
   
a0 2
a1   1 
 = 
a2  −3
a3 1

2. Bereken y3 (0.5).

y3 (0.5) = 1.8750

3 Interpolatie volgens Lagrange


3.1 Stelsel met Lagrange veeltermen
De interpolerende veelterm voor de waarden uit de tabel van oefening 2 kunnen we ook schrijven met behulp van
Lagrange basisfuncties.
y3 (x) = b0 l03 (x) + b1 l13 (x) + b2 l23 (x) + b3 l33 (x), (1)
waarbij Q3
k=0,k6=i (x − xk )
li3 (x) = Q3
k=0,k6=i (xi − xk )

1. Geef het functievoorschrift voor de Lagrange basisfunctie l23 (x).

(x − x0 )(x − x1 )(x − x3 ) (x + 1)x(x − 2) 1


l23 (x) = = = − (x3 − x2 − 2x)
(x2 − x0 )(x2 − x1 )(x2 − x3 ) (1 + 1)(1)(1 − 2) 2

2. Hoe kan je de bi uit vergelijking (1) berekenen?

bi = fi . Dus b0 = −3; b1 = 2; b2 = 1; b3 = 0.

3. Bereken y3 (0.5).

y3 (0.5) = 1.8750

4. Hoe ziet de Lagrange-interpolant eruit als we deze herschrijven naar de vorm y3 (x) = c0 + c1 x + c2 x2 + c3 x3 ?

2 + x − 3x2 + x3 . We hoeven dit niet expliciet uit te rekenen. De interpolerende veelterm van graad 3 door
de gegeven punten is immers uniek (onafhankelijk van de basis gebruikt om hem op te stellen).

3.2 Eigenschap Lagrange veeltermen


De unieke interpolerende veelterm van graad n met Lagrange basisfuncties kan algemeen geschreven worden als:
yn (x) = l0n (x)f0 + l1n (x)f1 + . . . + lnn (x)fn ,
waarbij Qn
k=0,k6=i (x − xk )
lin (x) = Qn
k=0,k6=i (xi − xk )
de i-de Lagrangeveelterm van graad n is.

2
1. Bewijs dat voor elke x geldt:
n
X
lin (x)xi k = xk , 0 ≤ k ≤ n,
i=0
en dat voor elke x geldt:
n
X
lin (x) = 1.
i=0

In de formule
n
X
lin (x)xi k
i=0

herkennen we de interpolerende veelterm bij xk . Omdat de interpolerende veelterm van graad n voor
f (x) = xk exact is voor 0 ≤ k ≤ n, kunnen we besluiten dat
n
X
lin (x)xi k = xk , 0 ≤ k ≤ n.
i=0

Dit geldt voor alle k; als we k = 0 invullen krijgen we


n
X
lin (x) = 1.
i=0

4 Interpolatiefout
De veelterm p(x) interpoleert de functie f (x) = exp(−2x) in de equidistante punten x = 0, 0.2, 0.4, 0.6, 0.8, 1.
1. Geef een schatting (bovengrens) van de absolute fout |f (0.5) − p(0.5)|.

||f (6) ||∞ 26


|f (0.5) − p(0.5)| ≤ |W5 (0.5)| = 6! W5 (0.5) = 2.0 × 10−5
6!

2. Verwacht je een grotere of een kleinere absolute fout bij evaluatie van de interpolerende veelterm in x = 0.9 i.p.v.
in x = 0.5? Waarom?

W5 (0.9) > W5 (0.5).

5 Splines
Gegeven de knooppunten x0 = 0 < x1 = 1 < x2 = 2 < x3 = 3:
• Bepaal en teken N00 (x), N10 (x), N20 (x), N01 (x), N11 (x) en N21 (x) met behulp van de recursiebetrekking in het
handboek.

( ( (
1 x ∈ [0, 1) 1 x ∈ [1, 2) 1 x ∈ [2, 3)
N00 (x) = N10 (x) = N20 (x) =
0 elders 0 elders 0 elders
We gebruiken formule 6.21 om de voorgaande te combineren.
  
x
 x ∈ [0, 1) x − 1 x ∈ [1, 2)
 x − 1
 x ∈ [2, 3)
x4 −x
N01 (x) = 2 − x x ∈ [1, 2) N11 (x) = 3 − x x ∈ [2, 3) N21 (x) = x ∈ [3, x4 )
   x4 −3
0 elders 0 elders 0 elders
  

3
1. Voor elk knooppunt: welke B-splinefuncties zijn verschillend van nul?

Voor zowel splines van graad 1 als graad 0 is er slechts 1 basisfunctie verschillend van 0. In xi is dit
voor graad 0 Ni0 (x) en voor graad 1 Ni−1
1
(x)

2. Verifiëer de continuı̈teitseigenschap voor graad k = 0 en k = 1 met behulp van de getekende figuren.

De splines van graad 0 zijn niet continu.


De splines van graad 1 zijn continu, maar niet continu afleidbaar.

3. Verifiëer de sommatie-tot-één eigenschap op met behulp van de getekende figuren.

• Bepaal en teken N02 (x) met behulp van de recursiebetrekking.

We combineren nu N01 (x) en N11 (x) om N02 (x) te vinden:


 2

x /2 x ∈ [0, 1)
−x2 + 3x − 1.5

x ∈ [1, 2)
N02 (x) =


(3 − x)2 /2 x ∈ [2, 3)
0 elders

1. Voor welke knooppunten is deze B-splinefunctie verschillend van nul?

x1 en x2

2. Verifieer de continuı̈teitseigenschap aan de hand van de getekende figuur.

De spline van graad 2 is continu en continu afleidbaar, maar niet tweemaal continu afleidbaar.

6 Interpolatie met kwadratische spline functies


We willen een periodieke functie met periode T = xn − x0 interpoleren met behulp van een kwadratische splinefunctie
s2 (x). We beschikken over een tabel bestaande uit n + 1 gegevens {xi , fi }, i = 0, ..., n, met f0 = fn , waarbij de punten
xi equidistant gekozen zijn, met h = T /n = xi+1 − xi , i = 0, ..., n − 1.
We schrijven de interpolerende kwadratische splinefunctie in de B-spline-basis, d.w.z.
n−1
X
s(x) = ci Ni2 (x) (2)
i=−2

waarbij ci , i = −2, ..., n−1 de coëfficiënten voorstellen en de B-splinefunctie Ni2 (x) een stuksgewijze 2e graadsveelterm
die buiten het interval [xi , xi+3 ] gelijk is aan nul.
1. Een gevolg van deze laatste eigenschap is dat in een ‘knooppunt’ xk , k = 0, ..., n slechts twee B-splinefuncties
niet nul zijn. Welke zijn deze B-splinefuncties voor x = x3 ? Toon dit bv. grafisch.

N12 en N22 , zie pagina 118 in de cursus.

4
2. Waarom begint de index in formule (2) bij −2 en eindigt bij n − 1?

2 2 2
De relevante splines voor xi zijn Ni−1 en Ni−2 . Door x0 beginnen we dus bij N−2 en door xn eindigen we
2
bij Nn−1

3. Het opleggen van de interpolatie door de gegevens {xi , fi }, i = 0, ..., n levert niet voldoende voorwaarden om
alle coëfficiënten ci te bepalen. Waarom?

Aantal onbekenden? n + 2 coëfficiënten (c−2 , . . . , cn−1 ). Aantal vergelijkingen? n + 1 interpolatie voorwaar-


den: s2 (x0 ) = f0 , s2 (x1 ) = f1 , . . . , s2 (xn ) = fn .

4. In de cursustekst wordt voorgesteld om de afgeleide van de splinefunctie in het beginpunt een bepaalde waarde
te geven. Kan je een betere voorwaarde bedenken als je er rekening mee houdt dat we een periodieke functie
aan het interpoleren zijn? Wat is deze voorwaarde?

Vermits de functie periodisch is kiezen we s0 (x0 ) = s0 (xn ). Dit zal er voorzorgen dat wanneer we de spline
periodisch uitbreiden, we continuı̈teit van de eerste afgeleide in x0 ,x0 + T , . . . , hebben (net zoals in alle
andere knooppunten).

5. De matrix van het resulterende stelsel om de coëfficiënten te bepalen bevat veel nullen. Schrijf de matrix uit,
waarbij je de niet-nul -elementen noteert als ‘X’. (Je hoeft de niet-nul-elementen dus niet uit te rekenen.)

0 0 0 0
2 2 2 2
De voorwaarde is c−2 N−2 (x0 ) + c−1 N−1 (x0 ) = cn−2 Nn−2 (xn ) + cn−1 Nn−1 (xn ). De matrix ziet er dus bijna
hetzelfde uit als op pagina 118, behalve dat er nog twee extra niet-nul elementen bijkomen rechts boven.
 
X X X X
X X 
 

 X X 

 ... 
X X

7 Interpolatie met goniometrische basisfuncties


Je hebt een tabel met gegevens (ti , fi ), i = 0, 1, .., n en je weet dat fi , i = 0, 1, ..., n waarden zijn van een signaal dat
bestaat uit periodieke functies met frequenties ω0 en veelvouden van ω0 , opgemeten op tijdstippen ti , i = 0, 1, ..., n. In
plaats van deze gegevens te interpoleren met een veelterm, kunnen we beter een interpolerende functie van de volgende
vorm gebruiken
X n
f (t) = ai sin(2πωi t) ωi = (i + 1)ω0 .
i=0
Leg uit hoe je de coëfficiënten ai kan berekenen.

We vinden de coëfficiënten ai door volgend stelsel op te lossen:


    
sin(2πω0 t0 ) sin(2πω1 t0 ) ... sin(2πωn t0 ) a0 f0
 sin(2πω0 t1 ) sin(2πω1 t1 ) ... sin(2πωn t1 )   a1   f1 
  ..  =  ..  .
    
 ..
 .  .   . 
sin(2πω0 tn ) sin(2πω1 tn ) ... sin(2πωn tn ) an fn

5
8 Oefeningen voor thuis
8.1 Examenvraag
Onderstaande tabel geeft een stuk van het resultaat van een meetinstrument weer. Door een onbekende reden ont-
breekt er een meetwaarde. Uit ervaring weet je dat een veelterm van tweede graad meestal goed overeenkomt met
deze metingen. We weten ook dat er nu en dan door een externe oorzaak een grote meetfout optreedt.

metingtijd (s) meetwaarde (m/s)


60 0.3
120 0.2
180 0.0
240 ?
300 0.1
360 30

1. Hoe kan je de ontbrekende meetwaarde best benaderen met een interpolerende veelterm?

2. Reken de beste benadering uit.

You might also like