13.07.2015 Views

NUMERIEKE METHODEN VOOR DE VAN DER POL ...

NUMERIEKE METHODEN VOOR DE VAN DER POL ...

NUMERIEKE METHODEN VOOR DE VAN DER POL ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>NUMERIEKE</strong> <strong>METHO<strong>DE</strong>N</strong> <strong>VOOR</strong> <strong>DE</strong> <strong>VAN</strong> <strong>DE</strong>R <strong>POL</strong> VERGELIJKINGDocent: Karel in ’t HoutStudiepunten: 3Over deze opgave dien je een verslag te schrijven waarin de antwoorden op alle vragen zijnverwerkt. Richtlijnen bij het schrijven van een wiskunde verslag vind je achteraan deze opgave.Tezamen met de Matlabprogramma’s die je hebt geschreven, stuur je je verslag in één zip-filenaar: karel.inthout@ua.ac.be.We beschouwen in dit project de Van der Pol vergelijking:⎧⎨ U 1 ′(t)= U 2(t),⎩U ′ 2 (t)= ε ( 1 − U 1 (t) 2) U 2 (t) − U 1 (t)(1)voor t ≥ 0. Hierbij is ε een gegeven positieve reële parameter.De vergelijking (1) werd in 1920 opgesteld door Van der Pol en speelt een belangrijke rolin de beschrijving van elektrische circuits. De exacte oplossingen van deze vergelijking blijkeninteressante eigenschappen te bezitten, die in de huidige wiskundige literatuur nog niet zijnbewezen. Doel van deze opgave is om, door middel van implementaties in Matlab, diversenumerieke methoden te onderzoeken die nauwkeurige benaderingen van de exacte oplossingenvan (1) opleveren.(a) Geef de formule voor de rechterlidfunctie f(t, x) behorend bij stelsel (1).(b) Schrijf een Matlabfunctie vdpol.m met als eerste regel function y=vdpol(t,x) dievoor gegeven t ∈ R en kolomvector x ∈ R 2 de kolomvector y = f(t, x) oplevert. Testdeze (nieuw gemaakte) Matlabfunctie met enige concrete invoerwaarden.We onderzoeken vier numerieke methoden ter oplossing van beginwaardeproblemen voor deVan der Pol vergelijking: de expliciete Euler methode, de expliciete trapeziumregel, de explicietemiddelpuntsregel en de klassieke Runge–Kutta methode.(c) Schrijf voor ieder van deze vier methoden een Matlabprogramma dat voor gegeveninterval [0, T ], gegeven beginvector U(0) en gegeven aantal stapjes N, achtereenvolgensbenaderingen u k van de exacte oplossing U(t) = (U 1 (t), U 2 (t)) T van (1) berekent op deroosterpunten t = kh voor k = 0, 1, 2, . . . , N met stapgrootte h = T/N. Gebruik hierbijde Matlabfunctie gemaakt in onderdeel (b). Sla alle roosterpunten op in een rijvectorter lengte N + 1 en alle benaderingen in een matrix met 2 rijen en N + 1 kolommen.Maak voor de berekening van de startwaarden bij de expliciete middelpuntsregel gebruikvan de expliciete Euler methode.1


Kies ε = 1, T = 5 en beginvector U(0) = (1, 1) T .(d) Maak één plaatje in Matlab waarin de benaderingen bekomen met ieder van de viernumerieke methoden, met N = 25, zijn weergegeven in het (x 1 , x 2 )–vlak. Neem hierbijals domein −3 ≤ x 1 , x 2 ≤ 3. Verbind opeenvolgende benaderingen met lijnstukjes enmaak in het plaatje duidelijk welke benaderingen met welke methode corresponderen.Wat is een betrouwbare, eerste schatting van de vector U(5) ? Licht je antwoord toe.(e) Voer de klassieke Runge–Kutta methode uit met N = 10 4 . Maak drie plaatjes in Matlab:één met de bekomen benaderingen uitgezet in het (x 1 , x 2 )–vlak en twee met de eersteresp. tweede component uitgezet tegen t. Geef de bekomen benadering van U(5) tot op12 significante cijfers (t.t.z. in decimale, drijvende punt representatie met 12 cijfers) ennoem deze benadering u ∗ .In het volgende onderdeel onderzoeken we het convergentiegedrag van de vier numeriekemethoden bij toepassing op (1). We richten ons op de benadering van U(5) en kiezen als zeernauwkeurige referentiewaarde de u ∗ bekomen in onderdeel (e).(f) Pas de expliciete Euler methode toe met N = 25 · 2 i voor i = 0, 1, 2, . . . , 6 en berekensteeds de maximumnorm van de globale fout, |u N −u ∗ | ∞ . Geef het resultaat weer in eentabel. Analyseer het gedrag van deze fouten als functie van N en ga na of dit gedraggoed overeenstemt met de theoretische orde van convergentie p = 1 van de methode.Verricht deze analyse vervolgens voor ieder van de andere drie numerieke methoden.Matlab beschikt ook zelf over diverse programma’s om beginwaardeproblemen numeriek meeop te lossen. We bekijken een bekende “ode-solver” in Matlab, namelijk ode45.(g) Bestudeer met het commando doc ode45 het gebruik van deze solver. Pas ode45toe met options=odeset(’AbsTol’,1e-10,’RelTol’,1e-10) voor de benadering vanU(5). Bereken de maximumnorm van de globale fout op t = 5, gebruikmakend van dereferentiewaarde u ∗ . Hoe verhoudt deze fout zich ten opzichte van de fouten bekomenmet ieder van de zelf geïmplementeerde numerieke methoden ?We onderzoeken vervolgens het gedrag van oplossingen van de Van der Pol vergelijking opgrote tijdsintervallen en bij andere waarden ε. Er lijken interessante eigenschappen te gelden.(h) Kies T = 100 in plaats van T = 5. Benader de oplossing van het beginwaardeprobleemvoor de Van der Pol vergelijking met je favoriete numerieke methode en maakplaatjes, als voorheen, in het (x 1 , x 2 )–vlak en de (t, x j )–vlakken voor j = 1, 2. Kiesdaarna een aantal andere beginvectoren U(0) en maak wederom plaatjes. Wat lijkter te gelden voor het gedrag van de oplossingen van de Van der Pol vergelijking oplange termijn ? Maak evt. gebruik van de literatuur betreffende de analyse van gewonedifferentiaalvergelijkingen om je vermoedens te formuleren.(i) Kies wederom T = 100 en beschouw zowel kleinere als grotere waarden ε. Formuleer devermoedens die je kunt afleiden omtrent het gedrag van oplossingen van de Van der Polvergelijking in functie van de parameterwaarde ε.We beschouwen nu ε = 50, T = 100 en U(0) = (2, 0) T . Het blijkt dat met elk van de bovenbesproken numerieke methoden een groot aantal stapjes N nodig is om de exacte oplossinggoed te benaderen.2


(q) Pas het programma uit onderdeel (n) toe met h = 0.1/2 i voor i = 0, 1, 2, 3 en berekensteeds de maximumnorm van de globale fout in t = T , gebruikmakend van de referentiewaardeu ∗ . Geef het resultaat in een tabel. Vermeld hierin ook het gebruikte aantalstapgroottes bij elke i. Bespreek het resultaat, in het bijzonder de nauwkeurigheid enhet convergentiegedrag van de zelf geïmplementeerde methode.4


Richtlijnen bij het schrijven van een wiskunde verslag1. Geef op het voorblad in ieder geval: de titel van het verslag, het opleidingsonderdeel, jenaam, en de datum.2. Deel het verslag op een logische en overzichtelijke wijze in. Gebruik hoofdstukken enparagrafen. Geef in het bijzonder een inleiding in de probleemstelling, de belangrijksteconclusies en een referentielijst. Neem computerprogramma’s op in een appendix.3. Wees duidelijk, beknopt en volledig. Laat minder relevante zaken weg.4. Zorg dat de tekst goedlopend en samenhangend is. Vermijd lange zinnen.5. Gebruik de officiële Nederlandse spelling.6. Kies een prettig leesbaar lettertype en grootte. Nummer de pagina’s. Druk het verslageenzijdig af op A4 papier.7. Nummer definities, stellingen, lemma’s en gevolgen. Nummer alle wiskundige formuleswaar je in de tekst naar verwijst.8. Nummer figuren. Voorzie ze van een duidelijk onderschrift. Zorg dat de figuren en allesymbolen hierin voldoende groot en goed leesbaar zijn. Figuren bespreek je in de tekst.9. Kies een natuurlijke, beknopte wiskundige notatie. Duid verschillende grootheden aanmet verschillende symbolen. Alle symbolen in je verslag dienen te zijn uitgelegd.10. Vermijd computertaal in wiskundige formuleringen of de gewone tekst, tenzij dit hetonderwerp van een bespreking vormt.11. Als een resultaat uit de wetenschappelijke literatuur wordt gebruikt, verwijs je naar debetreffende referentie.12. Het is niet toegestaan om tekst (vrijwel) letterlijk uit de bestaande literatuur of van hetinternet over te nemen. Gebruik steeds je eigen woorden.13. Alles wat je opschrijft dien je zelf te begrijpen.14. Lees het verslag regelmatig nauwgezet en kritisch door. Vraag je in het bijzonder bijiedere zin af of deze correct is en begrijpelijk voor de lezer. Dit kost tijd!15. Lever je verslag voor de opgegeven datum in.KH, januari 20125

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!