Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

47
Numerieke Methoden Numerieke Integratie Den Helder, Juni 2011, Cadet-sergeant Jeffrey L. A. Willems MST03 LVT OR

Transcript of Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

Page 1: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

Numerieke Methoden Numerieke Integratie

Den Helder, Juni 2011,

Cadet-sergeant Jeffrey L. A. Willems

MST03 LVT OR

Page 2: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

2

Page 3: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

3

Samenvatting

Dit paper is geschreven naar aanleiding van de opdracht ter numerieke berekening van integralen. Er worden verschillende methoden gebruikt om integralen numeriek op te lossen. Een viertal methoden wordt in dit verslag uiteengezet. Zowel de trapeziumregel als een eigen ontworpen methode passeren de revue. Daarnaast wordt er ook gekeken naar standaardroutines van Matlab om deze integralen op te lossen. Deze zijn; QUAD en QUADL.

De eigenmethode die ontworpen is, is net als de trapeziumregel een driepunts gesloten Newton-Cotes formule, waarbij het verschil zit in de opdeling in het aantal deelintervallen. Dit heeft tot gevolg dat er een verschil zit in het aantal functie-evaluaties bij een gelijk blijvende stapgrootte h.

Daarnaast is de ordebepaling afhankelijk van de continuïteit van een functie. Te zien is als een functie discontinu is dat de orde foutief bepaald wordt en de foutschatting afwijkt. De methoden die hiervoor gebruikt worden zijn dus ongeschikt voor discontinue functies. In tegenstelling tot continue functies, waarbij de orde en de foutschatting op juiste waarden bepaald worden.

Page 4: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

4

Inhoud

Samenvatting ........................................................................................................................................... 3

Inhoud ..................................................................................................................................................... 4

1. Inleiding ........................................................................................................................................... 6

2. Numerieke Methoden ..................................................................................................................... 7

2.1 Bepaling van gewichten uit algemene integratieformule ....................................................... 7

2.1.1 f(x)=1 ................................................................................................................................ 7

2.1.2 f(x)=x ................................................................................................................................ 8

2.1.3 f(x)=x2 ............................................................................................................................... 8

2.1.4 f(x)=x3 ............................................................................................................................... 8

2.1.5 Gewichtsbepaling middels lineaire algebra..................................................................... 9

2.2 Bepaling foutterm ................................................................................................................. 10

2.3 Bepaling samengestelde integratieformule .......................................................................... 11

2.4 Foutterm van samengestelde integratieformule. ................................................................. 12

2.5 Orde van nauwkeurigheid en foutschatting .......................................................................... 13

2.6 Matlab implementatie ........................................................................................................... 14

2.7 Vergelijking met Trapeziumregel .......................................................................................... 14

2.8 Matlabfuncties ...................................................................................................................... 15

2.8.1 QUAD ............................................................................................................................. 15

2.8.2 QUADL ........................................................................................................................... 15

3. Experimenten ................................................................................................................................ 16

3.1 Functie 1; fx = 5 · x4 + 9 · x2 + 4 · x . ................................................................................. 17

3.1.1 Numerieke integratie .................................................................................................... 18

3.1.2 Numerieke ordebepaling van de methode ................................................................... 19

3.1.2.1 QUAD ............................................................................................................................. 19

3.1.2.2 QUADL ........................................................................................................................... 20

3.2 Functie 2; 𝑔𝑥 = sin7𝑥4 ......................................................................................................... 21

3.2.1 PLOT g(x) ........................................................................................................................ 21

3.2.2 Numerieke integratie .................................................................................................... 22

3.2.3 Standaard Matlabroutines ............................................................................................ 24

3.2.3.1 QUAD en QUADL op G(x) ............................................................................................... 24

3.2.3.2 QUAD en QUADL op H(x) ............................................................................................... 26

Page 5: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

5

3.2.4 QUAD tegen QUADL op g(x) .......................................................................................... 28

4. Conclusie ....................................................................................................................................... 29

5. Literatuurlijst ................................................................................................................................. 30

Bijlage 1: Maple-uitwerking: opstellen vergelijkingen .......................................................................... 31

1.1 f(x)=1 ...................................................................................................................................... 31

1.2 f(x)=x ...................................................................................................................................... 31

1.3 f(x)=x^2 .................................................................................................................................. 32

1.4 f(x)=x^3 .................................................................................................................................. 32

Bijlage 2: Maple-uitwerking: bepaling coëfficiënten............................................................................. 33

Bijlage 3: Maple-uitwerking: bepaling hoogste macht .......................................................................... 34

Bijlage 4: Maple-uitwerking: hoogste afgeleide .................................................................................... 35

Bijlage 5: Maple-uitwerking: exacte functie-integralen ........................................................................ 36

Bijlage 6: Matlab-script: eigenmethode ................................................................................................ 37

Bijlage 7: Matlab-script: Trapeziummethode ........................................................................................ 38

Bijlage 8: Matlab-script: Integraal 1 ...................................................................................................... 39

Bijlage 9: Matlab-script: Integraal 2 ...................................................................................................... 42

Bijlage 10: Matlab-script: Integraal 3 .................................................................................................... 45

Page 6: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

6

1. Inleiding

In dit paper worden verschillende numerieke integratietechnieken uiteengezet. Er worden praktische voorbeelden uitgewerkt en verschillende technieken toegepast op probleemstellingen. Deze technieken hebben de overeenkomst de oppervlakte onder een bepaalde grafiek te berekenen. Dit aan de hand van gestandaardiseerde vormen, afhankelijk van de functiewaarden en lengte van het te integreren oppervlak.

Ook wordt er gebruik gemaakt van computeranalyses met behulp van wiskundige software. In dit verslag wordt het softwareprogramma MATLAB gebruikt. Hierin zitten standaard functies die numeriek integralen op kunnen lossen.

Daarnaast wordt in dit verslag methoden tegen elkaar uitgezet en vergeleken. Zo kan de implementatie van deze functies met elkaar vergeleken worden en hieruit een optimalisatie kiezen.

In hoofdstuk 2 staat de theorie uiteengezet, inclusief de uitleg hoe de standaard matlab routines werken.

In hoofdstuk 3 wordt de theorie toegepast een drietal functies.

In het laatste hoofdstuk worden conclusies getrokken uit de verkregen resultaten.

Page 7: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

7

2. Numerieke Methoden Numerieke Integratie

In dit hoofdstuk wordt een algemene integratieformule uitgewerkt (2.1). van deze integratieformule worden de gewichten A, B, C en D bepaald. Naast deze gewichten wordt ook de foutterm uitgewerkt. Binnen deze foutterm worden de waarden van K, p en s bepaald. De foutterm is gelijk aan:

𝐾 · ℎ𝑝+1 · 𝑓(𝑠)(𝑐)

De eis die geldt voor parameters binnen de integratieformule is dat de functie geldt voor polynomen met een zo hoog mogelijke graad.

Verder wordt in dit hoofdstuk de samengestelde integratieformule inclusief de foutterm op basis van N deelintervallen van lengte 4h bepaald. Ook wordt de orde van de nauwkeurigheid en een formule van de foutschatting bepaald.

Achtereenvolgens worden de gevonden integratieformules in Matlab geïmplementeerd door een correctie op een bestaande matlab-file.

2.1 Bepaling van gewichten uit algemene integratieformule

Om de gewichten uit formule 1 te bepalen moet de integraal gelijk gesteld worden aan de algemene formule. Door te variëren in de functie f(x) binnen de integraal kan een stelsel vergelijkingen opgesteld worden, waaruit door middel van lineaire algebra de waarden van A, B, C en D opgelost kunnen worden. Hierbij moet de foutterm gelijk zijn aan nul.

∫ 𝑓(𝑥)𝑑𝑥2ℎ−2ℎ = 𝐴 · 𝑓(−2ℎ) + 𝐵 · 𝑓(−ℎ) + 𝐶 · 𝑓(0) + 𝐷 · 𝑓(2ℎ) + 𝐾 · ℎ𝑝+1 · 𝑓(𝑠)(𝑐) (2.1)

2.1.1 f(x)=1 De eerste vergelijking die opgesteld wordt is door de algemene formule gelijk te stellen aan de integraal van -2h tot 2h over de integraal van f1(x)=1. Daarna wordt deze integraal gelijk gesteld aan de algemene formule. Voor de uitwerkingen in Maple wordt verwezen naar bijlage 1.

𝑓1(𝑥) = 1 (2.2)

∫ 𝑓1(𝑥)𝑑𝑥 = 4ℎ2ℎ−2ℎ (2.3)

𝐴 · 𝑓(−2ℎ) + 𝐵 · 𝑓(−ℎ) + 𝐶 · 𝑓(0) + 𝐷 · 𝑓(2ℎ) = 4ℎ (2.4)

𝐴 · 1 + 𝐵 · 1 + 𝐶 · 1 + 𝐷 · 1 = 4ℎ (2.5)

Page 8: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

8

2.1.2 f(x)=x

In plaats van f(x)=1 wordt de vergelijking van f(x)=x geïmplementeerd in de algemene vergelijking

𝑓2(𝑥) = 𝑥 (2.6)

∫ 𝑓2(𝑥)𝑑𝑥 = 02ℎ−2ℎ (2.7)

𝐴 · 𝑓(−2ℎ) + 𝐵 · 𝑓(−ℎ) + 𝐶 · 𝑓(0) + 𝐷 · 𝑓(2ℎ) = 0 (2.8)

−2𝐴 · ℎ − 𝐵 · ℎ + 2𝐷 · ℎ = 0 (2.9)

2.1.3 f(x)=x2

𝑓3(𝑥) = 𝑥2 (2.10)

∫ 𝑓3(𝑥)𝑑𝑥 = 163ℎ32ℎ

−2ℎ (2.11)

𝐴 · 𝑓(−2ℎ) + 𝐵 · 𝑓(−ℎ) + 𝐶 · 𝑓(0) + 𝐷 · 𝑓(2ℎ) = 163ℎ3 (2.12)

4𝐴 · ℎ2 + 𝐵 · ℎ2 + 4𝐷 · ℎ2 = 163ℎ3 (2.13)

2.1.4 f(x)=x3

𝑓4(𝑥) = 𝑥3 (2.14)

∫ 𝑓3(𝑥)𝑑𝑥 = 02ℎ−2ℎ (2.15)

𝐴 · 𝑓(−2ℎ) + 𝐵 · 𝑓(−ℎ) + 𝐶 · 𝑓(0) + 𝐷 · 𝑓(2ℎ) = 0 (2.16)

−8𝐴 · ℎ3 − 𝐵 · ℎ3 + 8𝐷 · ℎ3 = 0 (2.17)

Page 9: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

9

2.1.5 Gewichtsbepaling middels lineaire algebra

Via het verkregen stelsel vergelijkingen kunnen door middel van lineaire algebra de waarden van A, B, C en D berekend worden. Door het stelsel in matrixvorm te zetten en deze matrix terug te brengen naar een reduced echelon vorm, kunnen de waarden uitgelezen worden. Voor de maple-berekeningen wordt verwezen naar bijlage 2.

1 1 1 1−2ℎ −1ℎ 0 2ℎ4ℎ2 1ℎ2 0 4ℎ2−8ℎ3 −1ℎ3 0 8ℎ3

⎣⎢⎢⎢⎡

4ℎ0

163ℎ3

0 ⎦⎥⎥⎥⎤

Reduced row echalon form

⎣⎢⎢⎢⎢⎢⎡1 0 0 0

23

· ℎ0 1 0 0 0

0 0 1 083

· ℎ

0 0 0 123

· ℎ⎦⎥⎥⎥⎥⎥⎤

Hiermee kunnen de waarden uitgelezen worden:

𝐴 = 23

· ℎ

𝐵 = 0

𝐶 = 83

· ℎ

𝐷 = 23

· ℎ

Page 10: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

10

2.2 Bepaling foutterm Om de foutterm te bepalen wordt gekeken naar de orde n van de functie f(x);

𝑓(𝑥) = 𝑥𝑛

waarbij de integraal van de functie f(x) niet gelijk is aan de algemene vergelijking.

Na volgende berekeningen is te zien dat bij 𝑓(𝑥) = 𝑥4 de integraal niet gelijk is aan algemene formule. Voor maple-berekeningen wordt verwezen naar bijlage 3.

𝑓(𝑥) = 𝑥4 (2.18)

∫ 𝑓(𝑥)𝑑𝑥 =2ℎ−2ℎ

645ℎ5 (2.19)

Substitutie van coëfficiënten in formule 2.1 geeft:

23

· ℎ · 𝑓(−2ℎ) + 83

· ℎ · 𝑓(0) + 23

· ℎ · 𝑓(2ℎ) = 643ℎ5 (2.20)

Teruggebracht naar vergelijking 2.1 geeft:

∫ 𝑓(𝑥)𝑑𝑥2ℎ−2ℎ = 𝐴 · 𝑓(−2ℎ) + 𝐵 · 𝑓(−ℎ) + 𝐶 · 𝑓(0) + 𝐷 · 𝑓(2ℎ) + 𝐾 · ℎ𝑝+1 · 𝑓(𝑠)(𝑐) (2.1)

645ℎ5 = 64

3ℎ5 + 𝐾 · ℎ𝑝+1 · 𝑓(𝑠)(𝑐) (2.21)

Om geen afhankelijke functiewaarde van h in het rechter lid van de vergelijking te krijgen, moet gekeken worden naar de hoogste afgeleidde van de functie f(x). Om geen afhankelijke waarde van h te behouden is de hoogste afgeleide en waarde van ‘s’ gelijk aan 4. Voor de berekening, zie bijlage 4. De waarde van f(4)(c) is gelijk aan 24.

Om de waarde van ‘K’ te bepalen moet gekeken worden naar formule 2.21. Hiervoor moet eerst de waarde van ‘P’ bepaald worden. Doordat ‘K’ de correctiefactor is, moet de hoogste macht van ‘h’ gelijk zijn aan 5, waarop de waarde van ‘p’ op 4 uitkomt.

Hiermee komt vergelijking 2.21 op het volgende uit:

645ℎ5 = 64

3ℎ5 + 𝐾 · ℎ4+1 · 24 (2.22)

645ℎ5 = 64

3ℎ5 + 24𝐾 · ℎ5

De waarde van K wordt volgens formule 2.23 berekend:

𝐾 =645 ℎ

5−643 ℎ5

24·ℎ5= 16

45 (2.23)

Hiermee komt de algemene formule uit op (formule 2.1+2.20+2.23):

∫ 𝑓(𝑥)𝑑𝑥2ℎ−2ℎ = 2

3· ℎ · 𝑓(−2ℎ) + 8

3· ℎ · 𝑓(0) + 2

3· ℎ · 𝑓(2ℎ) − 16

45· ℎ5 · 𝑓(4)(𝑐) (2.24)

Page 11: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

11

2.3 Bepaling samengestelde integratieformule

De samengestelde integratieformule inclusief de foutterm wordt op basis van N deelintervallen bepaald, waarbij de deelintervallen een lengte van 4h hebben. Er wordt geïntegreerd over het interval [a,b] over N deelintervallen.

Voor de benadering van ∫ 𝑓(𝑥)𝑑𝑥𝑏𝑎 wordt het interval over [a,b] dus over N deelintervallen van

lengte 4h. Kortom:

𝑁 · 4ℎ = 𝑏 − 𝑎, 𝑁 · ℎ =𝑏 − 𝑎

4· 𝑁

Hierbij loopt K van 1 tot N over N deelintervallen.

De samengestelde integratieformule wordt dan:

∫ 𝑓(𝑥)𝑑𝑥2ℎ−2ℎ = ℎ �2

3· 𝑓(𝑎) + 8

3· 𝑓(𝑎 + 2ℎ) + 2

3· 𝑓(𝑎 + 4ℎ)� − 𝑁 · 16

45· ℎ5 · 𝑓(4)(𝑐) (2.25)

Met de deelintervallen geïntegreerd geeft:

∫ 𝑓(𝑥)𝑑𝑥2ℎ−2ℎ = ∑ ℎ �2

3· 𝑓�𝑎 + 4ℎ(𝐾 − 1)� + 8

3· 𝑓�𝑎 + ℎ(4𝐾 − 2)� + 2

3· 𝑓(𝑎 + 4ℎ𝐾)� − 𝑁 · 16

45· ℎ5 · 𝑓(4)(𝑐)𝑁

𝐾=1 (2.26)

Te zien is dat het interval over 4h verdeeld wordt, terwijl er op (a+h) en (a+3h) de gewichten nul gelden. Hierdoor kan een andere samengestelde integratieformule opgesteld worden, waardoor het aantal functie-evaluaties afneemt.

� 𝑓(𝑥)𝑑𝑥2ℎ

−2ℎ= �ℎ�

23 · 𝑓(𝑎) +

83 · 𝑓�𝑎 + ℎ(4𝐾 − 2)� +

43 · 𝑓(𝑎 + 4ℎ𝐾) +

23 · 𝑓(𝑏)� − 𝑁 ·

1645 · ℎ5 · 𝑓(4)(𝑐)

𝑁

𝐾=1

Page 12: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

12

Deze formule kan vereenvoudigd worden door het aantal functie-evaluaties terug te brengen naar 2N+1 bij N intervallen:

� 𝑓(𝑥)𝑑𝑥2ℎ

−2ℎ= �ℎ�

23 · 𝑓(𝑎) +

83 · 𝑓�𝑎 + 2ℎ(2𝐾 − 1)� +

43 · 𝑓(𝑎 + 4ℎ𝐾) +

23 · 𝑓(𝑏)� − 𝑁 ·

1645 · ℎ5 · 𝑓(4)(𝑐)

𝑁

𝐾=1

2.4 Foutterm van samengestelde integratieformule.

De foutterm van de samengestelde formule komt uit op:

∑ − 16

45· ℎ5 · 𝑓(4)(𝑐)𝑁

𝑘=1 = − 16

45· ℎ5 · 𝑁 · 𝑓(4)(𝑐) (2.27)

Waarbij geldt dat;

𝑁 · 4ℎ = 𝑏 − 𝑎, 𝑁 · ℎ =𝑏 − 𝑎

4

Gesubstitueerd geldt:

− 16

45· ℎ4 · 𝑏−𝑎

4· 𝑓(4)(𝑐) (2.28)

Wat te vereenvoudigen valt naar:

− 445

· ℎ4 · (𝑏 − 𝑎) · 𝑓(4)(𝑐) (2.29)

Hieruit valt op te maken dat bij een halvering van h, de fout 24, 16 maal kleiner wordt.

Page 13: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

13

2.5 Orde van nauwkeurigheid en foutschatting

Om de orde van de functie te bepalen wordt stap voor stap h verkleind. Voor een methode M van de orde hp geldt:

𝑊 −𝑀(ℎ) ≈ 𝑘 · ℎ𝑝 (2.30)

Hieruit volgt dat

𝑊−𝑀(ℎ)

𝑊−𝑀(ℎ2)≈ 2𝑝 (2.31)

Echter kan de exacte waarde van W nier bepaald worden, daardoor wordt de formule omgeschreven naar waarden die wel te bepalen zijn, namelijk waarden M(2h), M(h/2) en M(h):

�𝑀(ℎ) −𝑀(2ℎ)

𝑀�ℎ2� −𝑀(ℎ)� = 2𝑝

Uit deze formule kan de waarde van p berekend worden

log�𝑀(ℎ) −𝑀(2ℎ)

𝑀�ℎ2� −𝑀(ℎ)�2 = 𝑝

De foutschatting van de formule kan door de Richardson-extrapolatie [1, p. 181] bepaald worden. Voor deze methode moet echter de orde van de integratiemethode bekend zijn.

))()2

((151))()

2((

121)

2( hMhMhMhMhMW p −≈−

−≈−

(2.32)

Page 14: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

14

2.6 Matlab implementatie

Voor het matlabscript, betreffende de eigenmethode, wordt verwezen naar bijlage 6. Gegeven is dat het interval van N over 4h verdeeld wordt, dus:

ℎ =(𝑏 − 𝑎)

4𝑁

hierbij loopt k van 0 tot 4*N

2.7 Vergelijking met Trapeziumregel

De samengestelde trapeziumregel behoort tot de klasse van gesloten Newton-Cotes formules ([1] p. 191), dit vanwege de gelijke afstanden tussen de waarden van h onderling en omdat de eindpunten behoren tot de punten die berekend worden voor de integratie. Deze methode heeft een fout O(h2) waardoor geldt dat de trapeziumregel exact is voor lineaire functies, dit wil zeggen dat de regel van de tweede orde is. Daarnaast heeft de methode voor N intervallen N+1 functie-evaluaties nodig.

Voor de ontworpen integratie formule, ofwel de eigenmethode, zijn er 2N+1 functie-evaluaties nodig, maar deze is wel exact voor polynomen tot de graad vier. Een overeenkomst tussen beide methoden is dat het gesloten driepunts Newton-Cotes formules zijn.

Door het verschil in de orde van beide functies zal de foutschatting van de zelf ontworpen methode kleiner zijn dan de foutschatting van de trapeziummethode;

Foutschatting trapeziummethode: 13�𝑀 �1

2ℎ� −𝑀(ℎ)�

Foutschatting ontworpen methode: 115�𝑀 �1

2ℎ� −𝑀(ℎ)�

Page 15: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

15

2.8 Matlabfuncties In matlab zitten voorgeprogrammeerde functies om numeriek integralen op te lossen. Twee van deze functies zijn QUAD en QUADL.

2.8.1 QUAD QUAD, wat staat voor quadrature (kwadratuur) maakt adaptief gebruik van de Simpsonregel. Deze aanpassing houdt in dat de functie QUAD de grootte van de intervallen af laat hangen van de richtingscoëfficiënt van de te integreren functie. Dit kan ook handmatig ingevuld worden, door bij de functie meerdere waarden in te voeren waartussen geintergreerd moet worden. Ook is het mogelijk om de tolerantie op te geven. Standaard staat deze ingesteld op 1e-6. Daarnaast is de mogelijkheid om het aantal functie-evaluaties aanwezig door de TRACE-optie te gebruiken.

[Q,FCNT] = QUAD(FUN,A,B,TOL,TRACE)

Het nadeel van de QUAD-functie is dat bij een wisselende functie met hoge afgeleiden de nauwkeurigheid van de integraal afneemt. Een oplossing is om in plaats van QUAD, QUADL te gebruiken.

2.8.2 QUADL QUADL berekent numeriek te integraal van de ingevoerde functie middels adaptieve Lobatto kwadratuur. De functie zoekt binnen de ingevoerde grenzen van de functie grote veranderingen en neemt deze waarden als tussenwaarden waarbinnen geïntegreerd wordt.

[Q,FCNT] = QUADL(FUN,A,B,TOL,TRACE)

Page 16: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

16

3. Experimenten Toepassing van theorie op praktijkvoorbeelden

In dit hoofdstuk worden de methoden die in de voorgaande hoofdstukken zijn besproken geïmplementeerd. Deze methoden worden middels MATLAB gebruikt om een drietal integralen op te lossen. Bij het oplossen worden de stapgroottes van h gevarieerd. Tevens zal, zoals besproken in hoofdstuk 2, de nauwkeurigheid, de orde en foutschatting berekend worden.

Tevens worden de functies QUAD en QUADL gebruikt om de integralen op te lossen.

In paragraaf 3.1 zal de functie 𝑓(𝑥) = 5 · 𝑥4 + 9 · 𝑥2 + 4 · 𝑥1 behandeld worden, met bijbehorende integraal F: 𝐹 = 𝑥5 + 3 · 𝑥3 + 2 · 𝑥2.

Omdat de ontworpen methode nauwkeurig is tot en met de derde graad zal er een fout ontstaan. Deze fout kan eenvoudig bepaald worden omdat de integraal van de functie exact te berekenen is.

In paragraaf 3.2 zal de functie 𝑔(𝑥) = sin�√𝑥47 � behandeld worden, met bijbehorende integraal G:

𝐺 = ∫ sin�√𝑥47 �10 𝑑𝑥 en in paragraaf 3.3 de integraal H: 𝐻 = ∫ sin�√𝑥47 �2

1 𝑑𝑥

Page 17: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

17

3.1 Functie 1; f(x) = 5 · x4 + 9 · x2 + 4 · x .

De volgende functie wordt als eerste experiment genomen;

f(x) = 5 · x4 + 9 · x2 + 4 · x (3.1)

de integraal die hierbij opgelost moet worden is gelijk aan:

𝐹 = ∫ 𝑓(𝑥)𝑑𝑥 =20 ∫ 5 · x4 + 9 · x2 + 4 · x dx2

0 = [𝑥5 + 3 · 𝑥3 + 2 · 𝑥2]02 = 64 (3.2)

De integraal is grafisch weergegeven in figuur 1, zie onderstaand.

Figuur 1: Plot integrand F(x)

Page 18: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

18

3.1.1 Numerieke integratie

De integraal F wordt tevens berekend met behulp van MAPLE in Bijlage 5. Deze waarde wordt gebruikt als de exacte waarde om de ware fout te berekenen. De gegevens verkregen met MATLAB zijn in de volgende tabellen weergegeven met behulp van het script wat in bijlage 8 is bijgevoegd.

Tabel 1: Gegevens trapeziumregel van functie f(x)

h Nf Benadering Geschatte fout Ware fout Orde

1/8 17 64,255126953125 -0,254801432292 0,255126953125 1,998273117488

1/16 33 64,063796997070 -0,063776652018 0,063796997070 1,999568602155

1/32 65 64,015950202942 -0,015948931376 0,015950202942 1,999892170692

1/64 129 64,003987610340 -0,003987530867 0,003987610340 1,999973043932

1/128 257 64,000996906310 -0,000996901343 0,000996906310 1,999993261062

Tabel 2: Gegevens eigenmethode van functie f(x)

h Nf Benadering Geschatte fout Ware fout Orde

1/8 9 64,000325520833

0,000325520833

1/16 17 64,000020345052 -0,000020345052 0,000020345052 4,000000000000

1/32 33 64,000001271566 -0,000001271566 0,000001271566 4,000000000000

1/64 65 64,000000079473 -0,000000079473 0,000000079473 4,000000000000

1/128 129 64,000000004967 -0,000000004967 0,000000004967 4,000000000000

Ten eerste is op te merken dat voor eenzelfde stapgrootte (beginnend met h/8) er minder functie-evaluaties nodig zijn als men gebruik maakt van de eigenmethode. Dit is vanwege dat de eigenmethode per N deelinterval het deelinterval opdeelt in 4h, terwijl de trapeziummethode dit niet doet. Hierdoor moet N dan ook verschillend worden gekozen per methode (zie bijlage 8 voor de verschillen in N deelintervallen), namelijk met een verdeling van 1:4.

Daarnaast is te zien dat de eigenmethode een meer nauwkeurige benadering geeft ten opzichte van de trapeziumregel en dat de geschatte fout niet afwijkt van de ware fout, hier is uit op te maken dat de methode die gebruikt wordt (zie formule 2.32) voor de foutschatting een nauwkeurige benadering geeft van de ware fout.

Page 19: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

19

3.1.2 Numerieke ordebepaling van de methode Zie kolommen 6 uit voorgaande tabellen. Te zien is dat de orde van de trapeziummethode gelijk is aan 2 en de eigenmethode gelijk is aan 4, wat overeenkomt met de theorie behandeld in paragraaf 2.7.

3.1.2.1 QUAD Tabel 3: QUAD op F(x)

Tolerantie Benadering Fout Nf

1,00E-01 64,000000000000 0,000000000000 13

1,00E-02 64,000000000000 0,000000000000 13

1,00E-03 64,000000000000 0,000000000000 17

1,00E-04 64,000000000000 0,000000000000 25

1,00E-05 64,000000000000 0,000000000000 33

1,00E-06 64,000000000000 0,000000000000 65

1,00E-07 64,000000000000 0,000000000000 97

1,00E-08 64,000000000000 0,000000000000 129

1,00E-09 64,000000000000 0,000000000000 257

1,00E-10 64,000000000000 0,000000000000 385

1,00E-11 64,000000000000 0,000000000000 513

1,00E-12 64,000000000000 0,000000000000 1025

1,00E-13 64,000000000000 0,000000000000 1537

1,00E-14 64,000000000000 0,000000000000 2049

1,00E-15 64,000000000000 0,000000000000 4097

Uit voorgaande tabel is op te maken dat de functie QUAD de integraal exact bepaald met het aantal functie-evaluaties toenemend met een aflopende tolerantie.

Page 20: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

20

3.1.2.2 QUADL Tabel 4:QUADL op F(x)

Tolerantie Benadering Fout Nf 1,00E-01 64,000000000000 0,000000000000 18 1,00E-02 64,000000000000 0,000000000000 18 1,00E-03 64,000000000000 0,000000000000 18 1,00E-04 64,000000000000 0,000000000000 18 1,00E-05 64,000000000000 0,000000000000 18 1,00E-06 64,000000000000 0,000000000000 18 1,00E-07 64,000000000000 0,000000000000 18 1,00E-08 64,000000000000 0,000000000000 18 1,00E-09 64,000000000000 0,000000000000 18 1,00E-10 64,000000000000 0,000000000000 18 1,00E-11 64,000000000000 0,000000000000 18 1,00E-12 64,000000000000 0,000000000000 18 1,00E-13 64,000000000000 0,000000000000 18 1,00E-14 64,000000000000 0,000000000000 18 1,00E-15 64,000000000000 0,000000000000 108

Net als de functie QUAD bepaalt QUADL de integraal van de polynoom tussen [0 2] de waarde exact. Wel is op te merken dat QUADL minder functie-evaluaties nodig heeft (bij lagere tolerantie).

Page 21: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

21

3.2 Functie 2; 𝑔(𝑥) = sin�√𝑥47 �

De volgende functie wordt als tweede experiment genomen;

𝑔(𝑥) = sin ��𝑥47 �

De eerste integraal die hierbij opgelost moet worden is gelijk aan:

𝐺 = � sin ��𝑥47 �1

0

𝑑𝑥

De tweede integraal die hierbij opgelost moet worden is gelijk aan:

𝐻 = � sin ��𝑥47 �2

1

𝑑𝑥

3.2.1 PLOT g(x)

Figuur 2: plot Functie g(x)

Page 22: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

22

3.2.2 Numerieke integratie

In de volgende tabellen zijn de gegevens betreffende de verschillende methoden uiteengezet. Net als bij de functie f(x)is er een verschil in het aantal deelintervallen opdat eenzelfde grootte van h te behouden. Hierdoor verschilt ook het aantal functie-evaluaties. Wat wel op te merken is, is dat de orde van zowel de trapeziummethode als de eigenmethode toegepast op de functie G(x) afwijkt van de theoretische waarde. Waar dit aan zou kunnen liggen is de functie waarover geïntegreerd wordt discontinue is op [0,0].

Als dan gekeken wordt naar de tabellen 7 en 8 is te zien dat de ordes wel weer overeenkomen met de theoretische waarden van twee en vier.

Naast het verschil in de orde zit er binnen de methoden ook een verschil in de ware fout en de geschatte fout. Ook dit is te wijten aan de discontinuïteit van de functie. Dit is eveneens, net als de orde, niet te zien als geïntegreerd wordt over de interval [1,2]. Hiermee valt te concluderen dat de afwijking ligt aan de discontinuïteit van de functie op het interval [-0,1 0,1] rond het punt (0,0)

3.2.2.1 Methoden op G(x)

Tabel 5: Trapeziumregel op G(x)

h Nf Benadering Geschatte fout Ware fout Orde 1/8 9 0,570497516672

0,006583867397

1/16 17 0,574830073252 0,001444185527 0,002251310817 1,544835437993 1/32 33 0,576314991136 0,000494972628 0,000766392933 1,552265665193 1/64 65 0,576821309770 0,000168772878 0,000260074299 1,557485209728 1/128 129 0,576993327870 0,000057339367 0,000088056199 1,561215281272 1/256 257 0,577051618871 0,000019430334 0,000029765198 1,563913864170

Tabel 6: Eigenmethode op G(x)

h Nf Benadering Geschatte fout Ware fout Orde

1/8 5 0,569929057116796 0,00715232695220414

1/16 9 0,574679794481296 0,000316715824300025 0,00240158958770376 1,57507965883746

1/32 17 0,576274258778421 0,000106297619808293 0,000807125290579358 1,57356116681605

1/64 33 0,576809963763576 3,57136656770211e-05 0,000271420305424042 1,57248927303280

1/128 65 0,576990082648136 1,20079256373066e-05 9,13014208644425e-05 1,57192670781855

1/256 129 0,577050667236122 4,03897253245707e-06 3,07168328775864e-05 1,57165743215592

Page 23: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

23

3.2.2.2 Methoden op H(x)

Tabel 7: Trapeziumregel op H(x)

h Nf Benadering Geschatte fout ( )

Ware fout (1.0e-)

Orde 1/8 9 0.940927539677032

0.355075592968102

1/16 17 0.941193825667812 0.887619969266821 0.088789602188055 1,999579508824 1/32 33 0.941260416571415 0.221969678676492 0.022198698585107 1,999894553547 1/64 65 0.941277065514141 0.055496475753388 0.005549755859091 1,999973617974 1/128 129 0.941281227825936 0.013874372651509 0.001387444063639 1,999993403005 1/256 257 0.941282268408643 0.003468609023708 0.000346861356526 1,999998351160

Tabel 8: Eigenmethode op H(x)

h Nf Benadering Geschatte fout (1 0 008)

Ware fout (1.0e-007)

Orde

1/8 5 0,941275933318869 6,68195113129322e-06 3,93343465076852

1/16 9 0,941282178884440 4,16371038092223e-07 4,36385559909880e-07 3,98172033853617

1/32 17 0,941282587664739 2,72520198999852e-08 2,76052614101019e-08 3,99530165863411

1/64 33 0,941282613539282 1,72496958198802e-09 1,73071768028166e-09 3,99882084260850

1/128 65 0,941282615161716 1,08162271731752e-10 1,08283604305370e-10 3,99964650966654

1/256 129 0,941282615263201 6,76566950611838e-12 6,79856171359461e-12 3,93343465076852

Page 24: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

24

3.2.3 Standaard Matlabroutines In deze paragraaf worden de MATLAB routines weergegeven en besproken. Net als in paragraaf 3.1 is er gekozen voor aflopende tolerantie van 1e-1 tot 1e-15. Hierbij wordt gekeken naar de benadering van de integraal, de fout (exacte waarde berekend via MAPLE minus de benadering) en het aantal functie-evaluaties nodig om tot een waarde te komen die binnen de tolerantie valt. Verder is een grafiek weergegeven die de verschillen in de fout ten opzichte van het aantal functie-evaluaties weergeeft.

3.2.3.1 QUAD en QUADL op G(x) Tabel 9: QUAD op G(x)

Tolerantie Benadering Fout Nf

1,00E-01 0,576281624320449 0,000799759749 13

1,00E-02 0,576281624320449 0,000799759749 13

1,00E-03 0,576281624320449 0,000799759749 13

1,00E-04 0,576811312615695 0,000270071453 17

1,00E-05 0,577049343770596 0,000032040298 25

1,00E-06 0,577077840888460 0,000003543181 37

1,00E-07 0,577080969250011 0,000000414819 53

1,00E-08 0,577081337126668 0,000000046942 85

1,00E-09 0,577081378744645 0,000000005324 137

1,00E-10 0,577081383480327 0,000000000589 209

1,00E-11 0,577081384000814 0,000000000068 333

1,00E-12 0,577081384064450 0,000000000005 541

1,00E-13 0,577081384066849 0,000000000002 817

1,00E-14 0,577081384067121 0,000000000002 1305

1,00E-15 0,577081384067152 0,000000000002 2129

Page 25: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

25

Tabel 10: QUADL op G(x)

Tolerantie Benadering Fout Nf

1,00E-01 0,575986837343447 0,001094546726 18

1,00E-02 0,575986837343447 0,001094546726 18

1,00E-03 0,575986837343447 0,001094546726 18

1,00E-04 0,577055759722241 0,000025624347 48

1,00E-05 0,577080783264405 0,000000600805 78

1,00E-06 0,577080783264405 0,000000600805 78

1,00E-07 0,577081369987185 0,000000014082 138

1,00E-08 0,577081383726471 0,000000000343 168

1,00E-09 0,577081383737205 0,000000000332 228

1,00E-10 0,577081384059210 0,000000000010 318

1,00E-11 0,577081384059424 0,000000000010 408

1,00E-12 0,577081384066974 0,000000000002 588

1,00E-13 0,577081384067151 0,000000000002 888

1,00E-14 0,577081384067151 0,000000000002 1128

1,00E-15 0,577081384067155 0,000000000002 1548

Uit de gegevens van de tabellen 9 en 10 kunnen de ware fout ten opzichte van het aantal functie-evaluaties tegen elkaar uitgezet worden, de grafiek die hieruit volgt is in de volgende figuur weergegeven. Hierbij stelt de nauwkeurigheid de ware fout voor.

Figuur 3: f-evaluaties tegen ware fout op G(x)

101

102

103

104

10-12

10-11

10-10

10-9

10-8

10-7

10-6

10-5

10-4

10-3

10-2

f-evaluaties

nauw

keur

ighe

id (w

are

fout

)

Nauwkeurigheid tegen f-evaluaties QUAD en QUADL

quadquadl

Page 26: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

26

3.2.3.2 QUAD en QUADL op H(x) Tabel 11: QUAD op H(x)

Tolerantie Benadering Fout (1.0e-009) Nf 1,00E-01 0,941282611474996 3,795004421825 13 1,00E-02 0,941282611474996 3,795004421825 13 1,00E-03 0,941282611474996 3,795004421825 13 1,00E-04 0,941282611474996 3,795004421825 13 1,00E-05 0,941282611474996 3,795004421825 13 1,00E-06 0,941282611474996 3,795004421825 13 1,00E-07 0,941282614796352 0,473648342769 17 1,00E-08 0,941282615179442 0,090558116561 21 1,00E-09 0,941282615262245 0,007754796805 33 1,00E-10 0,941282615269574 0,004261035969 57 1,00E-11 0,941282615269946 0,000053956839 81 1,00E-12 0,941282615269967 0,000033306691 129 1,00E-13 0,941282615269969 0,000031308289 225 1,00E-14 0,941282615269969 0,000031308289 321 1,00E-15 0,941282615269969 0,000031308289 513

Tabel 12: QUADL op H(x)

Tolerantie Benadering Fout (1.0e-011) Nf 1,00E-01 0,941282615194927 7,507305888055 18 1,00E-02 0,941282615194927 7,507305888055 18 1,00E-03 0,941282615194927 7,507305888055 18 1,00E-04 0,941282615194927 7,507305888055 18 1,00E-05 0,941282615194927 7,507305888055 18 1,00E-06 0,941282615194927 7,507305888055 18 1,00E-07 0,941282615194927 7,507305888055 18 1,00E-08 0,941282615194927 7,507305888055 18 1,00E-09 0,941282615194927 7,507305888055 18 1,00E-10 0,941282615194927 7,507305888055 18 1,00E-11 0,941282615269969 0,003141931160 48 1,00E-12 0,941282615269969 0,003141931160 48 1,00E-13 0,941282615269969 0,003141931160 48 1,00E-14 0,941282615269969 0,003141931160 48 1,00E-15 0,941282615269969 0,003130828929 138

Page 27: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

27

Net als op de functie G(x) kan op het interval van H(x) een plot gemaakt worden van het aantal functie-evaluaties tegen de ware fout. De gegevens zijn in het volgende figuur weergegeven:

Figuur 4: f-evaluaties tegen ware fout op H(x)

101

102

103

10-14

10-13

10-12

10-11

10-10

10-9

10-8

f-evaluaties

nauw

keur

ighe

id (w

are

fout

)

Nauwkeurigheid tegen f-evaluaties QUAD en QUADL

quadquadl

Page 28: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

28

3.2.4 QUAD tegen QUADL op g(x) In figuur drie is te zien dat de functie QUAD een lagere ware fout heeft bij een lager aantal functie-evaluaties. Naarmate te evaluaties toenemen, neemt de ware fout van zowel QUAD als QUADL af, maar de sterkte van de toename van QUADL is hoger. Hiermee valt te concluderen dat voor een nauwkeurigere waarde van de integraal er meer f-evaluaties nodig zijn.

Ook is uit de figuren op te maken dat de functie QUAD beter werkt voor discontinue functies, dit aan de lagere foute waarde op kleiner aantal evaluaties. Voor continue functies moet er gebruik gemaakt worden van de functie QUADL.

Page 29: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

29

4. Conclusie

Dit paper is geschreven om inzicht te krijgen in het numeriek oplossen van integralen. Deze functies kunnen zowel continuïteit als discontinuïteit bevatten. In hoofdstuk twee staat de theorie beschreven omtrent de orde van een numerieke integratiemethoden en de foutschatting.

De eigenmethode is net als de trapeziumregel een driepunts gesloten Newton-Cotes formule, waarbij het verschil zit in de opdeling in het aantal deelintervallen. Dit heeft tot gevolg dat er een verschil zit in het aantal functie-evaluaties en deelintervallen bij een gelijk blijvende stapgrootte h.

Daarnaast is de ordebepaling afhankelijk van de continuïteit van een functie. Te zien is als een functie discontinu is dat de orde foutief bepaald wordt en de foutschatting afwijkt. De methoden die hiervoor gebruikt worden zijn dus ongeschikt voor discontinue functies. In tegenstelling tot continue functies, waarbij de orde en de foutschatting op juiste waarden bepaald worden.

Page 30: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

30

5. Literatuurlijst

[1] Burden, R.L., Faires, J.D. , Numerical analysis 8th edition, Thomson Brooks/Cole, Belmont, 2005.

Page 31: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

31

Bijlage 1: Maple-uitwerking: opstellen vergelijkingen

1.1 f(x)=1

1.2 f(x)=x

Page 32: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

32

1.3 f(x)=x^2

1.4 f(x)=x^3

Page 33: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

33

Bijlage 2: Maple-uitwerking: bepaling coëfficiënten

𝐴 = 23

· ℎ

𝐵 = 0

𝐶 = 83

· ℎ

𝐷 = 23

· ℎ

Page 34: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

34

Bijlage 3: Maple-uitwerking: bepaling hoogste macht

Page 35: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

35

Bijlage 4: Maple-uitwerking: hoogste afgeleide

Page 36: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

36

Bijlage 5: Maple-uitwerking: exacte functie-integralen

F:

G:

H:

Page 37: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

37

Bijlage 6: Matlab-script: eigenmethode

function [benadering, Nf] = eigenmethode(f,a,b,N); %_____________________________________________________________________________________________________ % % deze functie inegreerd de ingevoerde functie tussen de (ingevoerde) % grenzen a en b, over N deelintervallen, met behulp van de eigenmethode; % % INVOER % f: de te integreren functie % a: Het beginpunt van het integratie-interval % b: Het eindpunt van het integratie-interval( % N: aantal deelintervallen waarover gintergreerd wordt % % UITVOER % benadering: De benadering van de integratie % Nf: Hierin wordt het aantal functie-evaluaties genoteerd. % % version: 1 date: 1-dec-2010 author: J. Willems %_____________________________________________________________________________________________ h = (b-a)/(4*N); k=[0:4*N]; xk = a+k*h; fxk = f(xk); wk =zeros(1,(4*N)+1); wk(1)=2; wk(2:4:4*N)=0; wk(3:4:4*N)=8; wk(4:4:4*N)=0; wk(end)=2; benadering = h/3*(wk*fxk'); Nf = length(xk);

Page 38: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

38

Bijlage 7: Matlab-script: Trapeziummethode function [benadering, Nf] = trapeziumregel(f,a,b,N); %_____________________________________________________________________________________________________ % % deze functie berekent een benadering van de integraal van de functie f over het interval [ a, b ] % met behulp van de samengestelde trapeziumregel. % INVOER % f: <function> een functie van een variabele, de functie moet kunnen werken op vectoren % a: <real> linker eindpunt van het integratie-interval % b: <real> rechter eindpunt van het integratie-interval % N: <integer> het aantal deelintervallen waarin het interval [a,b] wordt verdeeld, en wordt gebruikt om de nauwkeurigheid te sturen % % UITVOER % benadering: <real> in deze variabele wordt de benadering van de integraal afgeleverd % Nf: <integer> in deze variabele wordt het aantal functie-evaluatie genoteerd % % voorbeeld van een aanroep: [schatting,aantalF]=trapeziumregel(@(x) x.*sin(3*x.^2), 0, 2, 50) % % % % version: 2.1 date: 13-dec-2007 author: PHM Wolkenfelt %_____________________________________________________________________________________________ h = (b-a)/N; k = [0:N]; xk = a+k*h; fxk = f(xk); % xk zijn de basispunten, en de bijbehorende functiewaarden staan in fxk wk =[1/2 ones(1,N-1) 1/2]; % de gewichten van de samengestelde trapeziumregel benadering = h*wk*fxk'; % wk is een rij-vector, fxk' is een kolomvector Nf = length(xk);

Page 39: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

39

Bijlage 8: Matlab-script: Integraal 1 %-------------------------------------------------------------------------- % Dit Matlabscript bepaald aan de hand van verschillende numierke methoden % de primitieve en integratie van een ingevoerde functie. % De functie is als volgt gedefinieerd: % f(x) = 5*x^4 + 9*x^2 + 4x. % % author: Jeffrey L.A. Willems % version: 2.0 % date: 1-6-2011 %-------------------------------------------------------------------------- %% Rekeneigenschappen in initialisatie van script clear all clc format long %% Hoofdberekening van functie % plot f(x) f=inline('5.*x.^4 + 9.*x.^2 + 4.*x'); % functie-implementatie figure(1) tekengrafiek(f,0,2,0.001,1) title('f(x)=5*(x^4)+9*(x^2)+4*(x)') xlabel('x') ylabel('f(x)') % Plot F(x) F=inline('1.*x.^5 + 3.*x.^3 + 2.*x^2'); figure(2) tekengrafiek(F,0,2,0.001,2) title('F(x)=1.*x.^5 + 3.*x.^3 + 2.*x^2') xlabel('x') ylabel('F(x)') % integraal F(x) van a tot b a=0; b=2; intf=64 % integraal van functie %% integratie mbv trapeziummethode N = [16 32 64 128 256 512 1024] for k=1:7 % de N wordt zo gekozen, dat h=1/8 1/16 1/32 enz.

Page 40: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

40

[benaderingTR(k), NfTR(k)] = trapeziumregel(f,a,b,N(k)); % benadering van de integraal. % Exacte fout (1e kolom) [WAREFOUTTR(k,1)] = abs(intf-benaderingTR(k)); % het verschil tussen de benadering en exacte waarde wordt berekend en opgeslagen, dus de ware fout end % bepalen van orde en foutschatting for k=1:5; [foutschattingTR(k,1)] = (benaderingTR(k+1)-benaderingTR(k))*(1/3); [ordeTR(k,1)] = log((benaderingTR(k+1)-benaderingTR(k))/(benaderingTR(k+2)-benaderingTR(k+1)))/(log(2)); end benaderingTR=benaderingTR' NfTR=NfTR' [WAREFOUTTR] [foutschattingTR] [ordeTR] %% Integratie eigenmethode N=[4 8 16 32 64 128 256]; for k=1:7 % de N wordt zo gekozen, dat h=1/8 1/16 1/32 enz. [benaderingEM(k), NfEM(k)] = eigenmethode2(f,a,b,N(k)); % benadering van de integraal. % Exacte fout (1e kolom) [WAREFOUTEM(k,1)] = abs(intf-benaderingEM(k)); % het verschil tussen de benadering en exacte waarde wordt berekend en opgeslagen, dus de ware fout end % bepalen van orde en foutschatting for k=1:5; [foutschattingEM(k,1)] = (benaderingEM(k+1)-benaderingEM(k))*(1/15); [ordeEM(k,1)] = log((benaderingEM(k+1)-benaderingEM(k))/(benaderingEM(k+2)-benaderingEM(k+1)))/(log(2)); end benaderingEM=benaderingEM' NfEM=NfEM' [WAREFOUTEM] [foutschattingEM] [ordeEM]

Page 41: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

41

%% QUAD en QUADL for t=1:15; tol=1*10^(-t); [BENADERINGQ,function_count]=quad(f,0,2,tol); quadf(t,1)=BENADERINGQ; quadf(t,2)=abs(intf-BENADERINGQ); quadf(t,3)=function_count; [BENADERINGQL,function_count]=quadl(f,0,2,tol); quadlf(t,1)=BENADERINGQL; quadlf(t,2)=abs(intf-BENADERINGQL); quadlf(t,3)=function_count; end quadf quadlf figure(3); loglog(quadf(:,3),quadf(:,2)); % de functie wordt geplot xlabel('f-evaluaties'); % bijschrift bij x-as ylabel('nauwkeurigheid (ware fout)'); % bijschrift bij y-as title('Nauwkeurigheid tegen f-evaluaties'); % titel figure(4); loglog(quadlf(:,3),quadlf(:,2)); % de functie wordt geplot xlabel('f-evaluaties'); % bijschrift bij x-as ylabel('nauwkeurigheid (ware fout)'); % bijschrift bij y-as title('Nauwkeurigheid tegen f-evaluaties'); % titel

Page 42: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

42

Bijlage 9: Matlab-script: Integraal 2 %-------------------------------------------------------------------------- % Dit Matlabscript bepaald aan de hand van verschillende numierke methoden % de primitieve en integratie van een ingevoerde functie. % De functie is als volgt gedefinieerd: % f(x) = sin((x^4)^(1/7)). % % author: Jeffrey L.A. Willems % version: 2.0 % date: 1-6-2011 %-------------------------------------------------------------------------- %% Rekeneigenschappen in initialisatie van script clear all clc format long %% Hoofdberekening van functie % plot f(x) f=inline('sin((x.^4).^(1/7))'); % functie-implementatie figure(1) tekengrafiek(f,0,2,0.001,1) title('sin(x^(4/7))') xlabel('x') ylabel('f(x)') % integraal F(x) van a tot b a=0; b=1; intf=0.5770813840690 % integraal van functie %% integratie mbv trapeziummethode N=[8 16 32 64 128 256 512]; for k=1:7 % de N wordt zo gekozen, dat h=1/8 1/16 1/32 enz. [benaderingTR(k), NfTR(k)] = trapeziumregel(f,a,b,N(k)); % benadering van de integraal. % Exacte fout (1e kolom) [WAREFOUTTR(k,1)] = abs(intf-benaderingTR(k)); % het verschil tussen de benadering en exacte waarde wordt berekend en opgeslagen, dus de ware fout end

Page 43: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

43

% bepalen van orde en foutschatting for k=1:5; [foutschattingTR(k,1)] = (benaderingTR(k+1)-benaderingTR(k))*(1/3); [ordeTR(k,1)] = log((benaderingTR(k+1)-benaderingTR(k))/(benaderingTR(k+2)-benaderingTR(k+1)))/(log(2)); end benaderingTR=benaderingTR' NfTR=NfTR' [WAREFOUTTR] [foutschattingTR] [ordeTR] %% Integratie eigenmethode N=[2 4 8 16 32 64 128 ]; for k=1:7 % de N wordt zo gekozen, dat h=1/8 1/16 1/32 enz. [benaderingEM(k), NfEM(k)] = eigenmethode2(f,a,b,N(k)); % benadering van de integraal. % Exacte fout (1e kolom) [WAREFOUTEM(k,1)] = abs(intf-benaderingEM(k)); % het verschil tussen de benadering en exacte waarde wordt berekend en opgeslagen, dus de ware fout end % bepalen van orde en foutschatting for k=1:5; [foutschattingEM(k,1)] = (benaderingEM(k+1)-benaderingEM(k))*(1/15); [ordeEM(k,1)] = log((benaderingEM(k+1)-benaderingEM(k))/(benaderingEM(k+2)-benaderingEM(k+1)))/(log(2)); end benaderingEM=benaderingEM' NfEM=NfEM' [WAREFOUTEM] [foutschattingEM] [ordeEM] %% QUAD en QUADL for t=1:15; tol=1*10^(-t); [BENADERINGQ,function_count]=quad(f,a,b,tol); quadf(t,1)=BENADERINGQ; quadf(t,2)=abs(BENADERINGQ-intf); quadf(t,3)=function_count;

Page 44: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

44

[BENADERINGQL,function_count]=quadl(f,a,b,tol); quadlf(t,1)=BENADERINGQL; quadlf(t,2)=abs(BENADERINGQL-intf); quadlf(t,3)=function_count; end quadf quadlf figure(3); loglog(quadf(:,3),quadf(:,2),quadlf(:,3),quadlf(:,2)); % de functie wordt geplot xlabel('f-evaluaties'); % bijschrift bij x-as ylabel('nauwkeurigheid (ware fout)'); % bijschrift bij y-as title('Nauwkeurigheid tegen f-evaluaties QUAD en QUADL'); % titel

Page 45: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

45

Bijlage 10: Matlab-script: Integraal 3 %-------------------------------------------------------------------------- % Dit Matlabscript bepaald aan de hand van verschillende numierke methoden % de primitieve en integratie van een ingevoerde functie. % De functie is als volgt gedefinieerd: % f(x) = sin((x^4)^(1/7)). % % author: Jeffrey L.A. Willems % version: 1.0 % date: 1-6-2011 %-------------------------------------------------------------------------- %% Rekeneigenschappen in initialisatie van script clear all clc format long %% Hoofdberekening van functie % plot f(x) f=inline('sin((x.^4).^(1/7))'); % functie-implementatie figure(1) tekengrafiek(f,0,2,0.001,1) title('sin(x^(4/7))') xlabel('x') ylabel('f(x)') % integraal F(x) van a tot b a=1; b=2; intf=0.9412826152700 % integraal van functie %% integratie mbv trapeziummethode N=[8 16 32 64 128 256 512]; for k=1:7 % de N wordt zo gekozen, dat h=1/8 1/16 1/32 enz. [benaderingTR(k), NfTR(k)] = trapeziumregel(f,a,b,N(k)); % benadering van de integraal. % Exacte fout (1e kolom) [WAREFOUTTR(k,1)] = abs(intf-benaderingTR(k)); % het verschil tussen de benadering en exacte waarde wordt berekend en opgeslagen, dus de ware fout end % bepalen van orde en foutschatting for k=1:5;

Page 46: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

46

[foutschattingTR(k,1)] = (benaderingTR(k+1)-benaderingTR(k))*(1/3); [ordeTR(k,1)] = log((benaderingTR(k+1)-benaderingTR(k))/(benaderingTR(k+2)-benaderingTR(k+1)))/(log(2)); end benaderingTR=benaderingTR' NfTR=NfTR' [WAREFOUTTR] [foutschattingTR] [ordeTR] %% Integratie eigenmethode N=[2 4 8 16 32 64 128]; for k=1:7 % de N wordt zo gekozen, dat h=1/8 1/16 1/32 enz. [benaderingEM(k), NfEM(k)] = eigenmethode2(f,a,b,N(k)); % benadering van de integraal. % Exacte fout (1e kolom) [WAREFOUTEM(k,1)] = abs(intf-benaderingEM(k)); % het verschil tussen de benadering en exacte waarde wordt berekend en opgeslagen, dus de ware fout end % bepalen van orde en foutschatting for k=1:5; [foutschattingEM(k,1)] = (benaderingEM(k+1)-benaderingEM(k))*(1/15); [ordeEM(k,1)] = log((benaderingEM(k+1)-benaderingEM(k))/(benaderingEM(k+2)-benaderingEM(k+1)))/(log(2)); end benaderingEM=benaderingEM' NfEM=NfEM' [WAREFOUTEM] [foutschattingEM] [ordeEM] %% QUAD en QUADL for t=1:15; tol=1*10^(-t); [BENADERINGQ,function_count]=quad(f,a,b,tol); quadf(t,1)=BENADERINGQ; quadf(t,2)=abs(BENADERINGQ-intf); quadf(t,3)=function_count; [BENADERINGQL,function_count]=quadl(f,a,b,tol); quadlf(t,1)=BENADERINGQL; quadlf(t,2)=abs(BENADERINGQL-intf);

Page 47: Opdracht Numerieke Methoden; Numerieke Integratie Juni 2011

47

quadlf(t,3)=function_count; end quadf quadlf figure(3); loglog(quadf(:,3),quadf(:,2),quadlf(:,3),quadlf(:,2)); % de functie wordt geplot xlabel('f-evaluaties'); % bijschrift bij x-as ylabel('nauwkeurigheid (ware fout)'); % bijschrift bij y-as title('Nauwkeurigheid tegen f-evaluaties QUAD en QUADL'); % titel %% Weergeven van berekeningen en functie(s)