Matematikk 1000. Øvingsoppgaver i numerikk leksjon 11 Eulers metode. Løsningsforslag



Like dokumenter
BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver veke 14

Matematikk Eksamensaktuelle numerikk-oppgåver

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3.

Matematikk Øvingsoppgaver i numerikk leksjon 5 Litt oppsummering undervegs Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Løysingsforslag for oppgåvene veke 17.

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk 1000, 2012/2013. Eksamensaktuelle numerikk-oppgåver

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Høgskolen i Oslo og Akershus. = 2xe 2x + x 2 e 2x (2x) = 2xe 2x + 2x 2 e 2x = 2xe 2x (1 + x) e 2x + x 2 ( e 2x) 1 sin x (sin x) + 2x = cos x

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 37 og 38

Matematikk Øvingsoppgaver i numerikk leksjon 7. Løsningsforslag

Løsningsforslag. og B =

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 5 Innleveringsfrist: 15. april klokka 14:00 Antall oppgaver: 3.

Matematikk Øvingsoppgaver i numerikk leksjon 3 Løsningsforslag

Høgskolen i Oslo og Akershus. 1 (x 2 + 1) 1/2 + x 1 2 (x2 + 1) 1/2 (x 2 + 1) = x 2x 2 x = = 3 ln x sin x

Løsningsforslag. Oppgave 1 Gitt matrisene ] [ og C = A = 4 1 B = 2 1 3

Matematikk Løsningsforslag

Løsningsforslag. Innlevering i BYFE 1000 Oppgavesett 4 Innleveringsfrist:??? klokka 14:00 Antall oppgaver: 5, 20 deloppgaver.

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 40

Matematikk Øvingsoppgaver i numerikk leksjon 7 Numerisk derivasjon

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

IR Matematikk 1. Eksamen 8. desember 2016 Eksamenstid 4 timer

EKSAMEN I MATEMATIKK 1000

Løsningsforslag. og B =

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 35

UNIVERSITETET I OSLO

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

IR Matematikk 1. Utsatt Eksamen 8. juni 2012 Eksamenstid 4 timer

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

Høgskolen i Oslo og Akershus. i=1

a) f(x) = 3 cos(2x 1) + 12 LF: Vi benytter (lineær) kjerneregel og får f (x) = (sin(7x + 1)) (sin( x) + x) sin(7x + 1)(sin( x) + x) ( sin(x) + x) 2 =

Prøve i Matte 1000 BYFE DAFE 1000 Dato: 03. mars 2016 Hjelpemiddel: Kalkulator og formelark. Alle svar skal grunngis. Alle deloppgaver har lik vekt.

Numerisk løsning av differensiallikninger Eulers metode,eulers m

Matematikk Øvingsoppgaver i numerikk leksjon 1 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 4 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Høgskolen i Oslo og Akershus. e 2x + x 2 ( e 2x) = 2xe 2x + x 2 e 2x (2x) = 2xe 2x + 2x 2 e 2x = 2xe 2x (1 + x) 1 sin x (sin x) + 2x = cos x

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

UNIVERSITETET I BERGEN

Løysingsforslag for oppgåvene veke 17.

TDT4105 IT Grunnkurs Høst 2014

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 4 Innleveringsfrist Fredag 11. mars 2016 Antall oppgaver: Løsningsforslag

For det aktuelle nullpunktet, som skal ligge mellom 0 og, kan vere eit greit utgongspunkt.

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

Fasit til eksamen i emnet MAT102 - Brukerkurs i matematikk II Mandag 21.september 2015

Matematikk Øvingsoppgaver i numerikk leksjon 8 Numerisk integrasjon

Løsningsforslag AA6526 Matematikk 3MX Privatister 3. mai eksamensoppgaver.org

Løsningsforslag. Innlevering i BYFE 1000 Oppgavesett 1 Innleveringsfrist: 10. oktober klokka 14:00 Antall oppgaver: 6. Oppgave 1

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

LØSNINGSSKISSE TIL EKSAMEN I FAG SIF august 2001

Taylor- og Maclaurin-rekker

Matematikk 1 Første deleksamen. Løsningsforslag

1. Finn egenverdiene og egenvektorene til matrisen A = 2 1 A =

Løsningsforslag Eksamen i MA1102/MA6102 Grunnkurs i analyse II 17/

a) Ved numerisk metode er det løst en differensiallikning av et objekt som faller mot jorden. Da, kan vi vi finne en tilnærming av akselerasjonen.

1 Mandag 1. februar 2010

TMA4122/TMA4130 Matematikk 4M/4N Høsten 2010

UNIVERSITETET I OSLO

Oppgaver om fart, strekning og akselerasjon. Løsningsforslag. Oppgave 1

Matematikk Øvingsoppgaver i numerikk leksjon 9 Numerisk integrasjon

Prøve i Matte 1000 ELFE KJFE MAFE 1000 Dato: 02. desember 2015 Hjelpemiddel: Kalkulator og formelark

Høgskolen i Oslo og Akershus. a) Finn den deriverte av disse funksjonene: b) Finn disse ubestemte integralene: c) Finn disse bestemte integralene:

Løsningsforslag MAT102 Vår 2018

Høgskolen i Oslo og Akershus. sin 2 x cos 2 x = 0, x [0, 2π) 1 cos 2 x cos 2 x = 0 2 cos 2 x = 1 cos 2 x =

TMA4135 Matematikk 4D Kompendium i numerikk. Eirik Refsdal

UNIVERSITETET I OSLO

Oppsummering TMA4100. Kristian Seip. 26./28. november 2013

MATLAB-OPPGAVER I IGR1601 MATEMATIKK 2 VÅREN 2017

Difflikninger med løsningsforslag.

Eksamen i emnet MAT111/M100 - Grunnkurs i matematikk I Mandag 15. desember 2003, kl (15) LØYSINGSFORSLAG OPPGÅVE 2:

Anvendelser av potensrekker

Matematikk Øvingsoppgaver i numerikk leksjon 8 Matriser. Løsningsforslag

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Oppsummering TMA4100. Kristian Seip. 17./18. november 2014

EKSAMEN I EMNET Løsning: Mat Grunnkurs i Matematikk I Mandag 14. desember 2015 Tid: 09:00 14:00

Viktig informasjon. 1.1 Taylorrekker. Hva er Taylor-polynomet av grad om for funksjonen? Velg ett alternativ

Innlevering i matematikk Obligatorisk innlevering nr. 5 Innleveringsfrist: 18. februar 2011 kl Antall oppgåver: 5 Ein skal grunngi alle svar.

EKSAMEN BOKMÅL STEMMER. DATO: TID: OPPG. SIDER: VEDLEGG: 3 desember :00-13: FAGKODE: IR Matematikk 1

Obligatorisk oppgave 1

Eksamen i FO929A Matematikk Underveiseksamen Dato 30. mars 2007 Tidspunkt Antall oppgaver 4 Sirkelskive i radianer.

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 43

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2

Fasit til utvalgte oppgaver MAT1110, uka 28/4-2/5

MAT1110: Obligatorisk oppgave 2, V Løsningsforslag

FY1006/TFY Løysing øving 7 1 LØYSING ØVING 7

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

= x lim n n 2 + 2n + 4

LYØSINGSFORSLAG Eksamen i MAT111 - Grunnkurs i matematikk I onsdag 18. mai 2011 kl. 09:00-14: i( 3 + 1) = i + i + 1

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 34

Transkript:

Matematikk 1000 Øvingsoppgaver i numerikk leksjon 11 Eulers metode Løsningsforslag Oppgave 1 Samanlikning med analytisk løsning y = 3 2 x y, y(0) = 1. a) Kandidat til løsning: y = e x3/2. Vi deriverer denne: ( y = e x3/2 x 3/2) 3 = 2 x1/2 e x3/2 = 3 2 x1/2 y. Av første og siste likhet ser vi at dierensiallikninga er oppfylt. Så sjekker vi initialkravet: y(0) = e 03/2 = 1. Dette stemmer også. Plottet kan lages slik i MATALAB: >>x=0:1e-2:2; >>y=exp(x.^(3/2)); >>plot(x,y,'linewidth',2) >>xlabel('x'); ylabel('y') Resultatet er vist i gur 1. b) Vi veit at P 1 (x) = y(a) + y (a)(x a). Dierensiallikninga forteller oss at y (a) = 3 2 a y(a), 1

Figur 1: Svaret i deloppgave 1a). Figuren viser et plott av funksjonen y(x) = exp(x 3/2 ). slik at P 1 (x) = y(a) + 3 2 a y(a) (x a). Om vi set inn a = x n og x = x n + h, får vi P 1 (x n +h) = y(x n )+ 3 xn y(x n ) (x n +h x n ) = y(x n )+ 3 xn y(x n ) h. 2 2 c) y 0 = 1 y n+1 = y n + 3 2 xn y n h, x n = nh. (1) Dersom y n = y(x n ), vil høgre side i uttrykket over være ei lineær tilnærming et første ordens Taylor-polynom til y(x n + h). Vi har tidligere sett at dette er ei god tilnærming så lenge h er liten. Dermed har vi, siden y 0 = y(x 0 ), at y 1 y(x 1 ), som igjen gir at y 2 y(x 2 ) og så vidare. Merk at vi for hver slik iterasjon introduserer ein feil. Denne blir større og større for hvert ledd. d) Skriptet kan for eksempel se slik ut: 1 % Gir start og slutt for x 2 x0=0; 3 xslutt=2; 4 % Initialverdi for y: 5 y0=1; 6 2

7 % Gir antall steg 8 N=input('Gi antall steg: '); 9 % Steglengda 10 h=(xslutt-x0)/n; 11 12 % Initierer vektor med x-verdier 13 xvektor=x0:h:xslutt; 14 15 yvektor(1)=y0; 16 for n=1:n 17 % Tilornder x- og y-verdiar: 18 xn=xvektor(n); 19 yn=yvektor(n); 20 % Finner neste y-verdi ved Eulers metode: 21 yvektor(n+1)=yn+3/2*sqrt(xn)*yn*h; 22 end 23 % Skriver x- og y-verktorane til skjerm 24 xvektor 25 yvektor Kommentarene i skriptet burde vere ganske forklarande. Vi har gitt skriptet namnet EulersMetode.m. Når vi køyrer det i MATLAB og gir N- verdien 10, får vi: >> EulersMetode Gi antall steg: 10 xvektor = Columns 1 through 8 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 Columns 9 through 11 1.6000 1.8000 2.0000 yvektor = Columns 1 through 8 1.0000 1.0000 1.1342 1.3494 1.6629 2.1091 2.7419 3.6429 Columns 9 through 11 4.9360 6.8091 9.5498 3

Figur 2: Svaret i deloppgave 1e). Figuren viser den analytiske løsninga av initialverdiproblemet sammen med ei numerisk løsning basert på N = 10 steg. Denne måten å presentere svaret på er jo ikke så informativ. Det er nok bedre å gjøre det grask. e) Om vi legger følgende til i skriptet over, får vi de plottene vi ønsker: % Vi plottar resultatet sammen med den analytiske løsninga % Eksakt, analytisk løsning: xeks=x0:1e-2:xslutt; yeks=exp(xeks.^(3/2)); % Plotter eksakt løysing plot(xeks,yeks,'k-','linewidth',2) hold on % Plotter numerisk løsning plot(xvektor,yvektor,'r-','linewidth',2) hold off Vi kjører skriptet igjen og setter N = 10. Figuren vi da får, er vist i gur 2. Som vi ser, er ikke de to grafane særleg like. Da er vel h for stor, da eller, sagt på en annen måte: N er for liten. f) Når vi gjentar det vi gjorde i forrige del-oppgave med stadig høgere N- verdier, får vi grafene vist i gur 3. Den numeriske løsninga vår ser ut til å begynne å nærme seg den eksakte. Vi ser også at den numeriske løsninga konsekvent ligger under den eksakte, og avviket blir større og større når x øker. Først når N = 500 begynnar det å bli vanskeleg å sjå skilnad på den numeriske og den eksakte løysinga. 4

Figur 3: Svaret i deloppgave 1f). Vi ser numeriske løysingar for ulike steglengder. g) Vi skal vise at den generelle formelen y n+1 = y n + F (x n+1, y n+1 )h i vårt tilfelle kan skrivest slik: y n+1 = y n 1 3 2 n + 1 h 3/2. Vi setter inn at F (x, y) = 3 2 x y og at xn = n h: y n+1 = y n + 3 xn+1 y n+1 h = y n + 3 2 2 n + 1h yn+1 h = ( y n+1 1 3 ) n + 1 h 3/2 2 = y n y n + 3 2 n + 1 yn+1 h 3/2 y n+1 = y n 1 3 2 n + 1 h 3/2. h) Vi endrer linje 21 i skriptet frå deloppgåve d) til: yvektor(n+1)=yn/(1-3/2*sqrt(n+1)*h^(3/2)); Med denne endringa gjentar vi det vi gjorde i deloppgave f). Resultatet er vist i gur 4. Som vi ser, gir slett ikke denne metoden noko bedre resultat enn framover-metoden. Til forskjell frå framover-metoden, gir bakovermetoden her ein graf som konsekvent ligger over den eksakte løysinga. Som med framover-metoden, blir feilen konsekvent større med økende x. i) De to eksemplene oppgava siktar til, er midpunktsformelen for numerisk derivasjon og at midtpunktsseleksjoner gir langt bedre integral-estimater 5

Figur 4: Svaret på deloppgåve 1h). Vi ser her numeriske løsninger basert på Eulers bakover-metode for ulike steglengder sammen med den eksakte løsninga. enn høgre- og venstre-seleksjonar for Riemann-summar basert på regulære partisjoner. Når vi skal implementere denne metoden, er det bare det som står i forløkka som trenger å endras i forhold til framover-skriptet. Denne kan implementeres slik: for n=1:n % Tilordner x- og y-verdier xn=xvektor(n); yn=yvektor(n); xnhatt=xn+h/2; ynhatt=yn+3/2*sqrt(xn)*yn*h/2; % Finner neste y-verdi ved Eulers midtpunk-metode yvektor(n+1)=yn+3/2*sqrt(xnhatt)*ynhatt*h; end Når vi lager tilsvarande plott som i gur 3 og -4, får vi gur 5 som resultat. Vi ser her at estimatet nærmer seg den eksakte løysinga langt raksere enn for framover- og bakovermetodene; vi får ei numerisk løsning som nesten ligger oppå den eksakte med bare N = 20! Oppgave 2 Utan fasit I disse oppgavene har vi valgt å gjøre skriptet som implementerer Eulers metode litt meir generiske i den forstand at vi lager ei egen funksjonsl for F (x, y). På 6

Figur 5: Svaret på deloppgave 1j). Figuren viser tydeleg at Eulers midtpunktsmetode har helt andre konvergenseigenskaper enn framover- og bakover-metodene. (Legg merke til at fargene tilsvarer andre N-verdier enn i gur 3 og -4.) den måten er det ganske smidig å bruke det same skriptet for å løse forskjellige dierensiallikningar. I tillegg tar vi med ei linje som kserer størrelsen på yvektor (linje 17). Skriptet vi bruker for framover-metoden ser slik ut (det er svært likt det vi brukte i oppgave 1): 1 % Tar bort gamle variable 2 clear all 3 4 % Gir start og slutt for x 5 x0=0; 6 xslutt=3; 7 % Initialverdi for y: 8 y0=1; 9 10 % Gir antall steg 11 N=input('Gi antall steg: '); 12 % Steglengda 13 h=(xslutt-x0)/n; 14 15 % Initierer vektor med x-verdier og y-verdier 16 xvektor=x0:h:xslutt; 17 y=zeros(1,(n+1)) 18 yvektor(1)=y0; % Initialkravet 19 20 for n=1:n 7

21 % Tilornder x- og y-verdiar 22 xn=xvektor(n); 23 yn=yvektor(n); 24 yderiv=derivfunk(xn,yn); 25 % Finner neste y-verdi ved Eulers metode 26 yvektor(n+1)=yn+yderiv*h; 27 end 28 29 % Plotter løsninga 30 plot(xvektor,yvektor,'b-','linewidth',2) Skriptet heter EulerFramoverFunk.m. Merk at initialkravet og maksimal x-verdi fremdeles er hard-koda; dette kravet må endres hver gang vi skal løse et nytt initialverdiprolbem. Funksjonsla som gir F (x, y), heter DerivFunk.m. For deloppgave 2a) ser den slik ut: function F=DerivFunk(x,y) % Funksjon som blir bruka av skripta EulersMetode.m og % og EulerMidpunkt.m. Funksjonen er høgresida i diff.- % likninga y'=f(x,y) F=sin(x+y^2); Midpunkts-metoden er implementert akkurat likt; det er bare for-løkka som er ulik. Den ser slik ut: for n=1:n % Tilornder x- og y-verdiar xn=xvektor(n); yn=yvektor(n); % Tilordner x-hatt og y-hatt xnhatt=xn+h/2; ynhatt=yn+derivfunk(xn,yn)*h/2; % Finner neste y-verdi ved Eulers midtpunkt-metode yvektor(n+1)=yn+derivfunk(xnhatt,ynhatt)*h; end a) y = sin(x + y 2 ), y(0) = 0, x [0, 5]. Vi kjører skriptet eire ganger med stadig høgere N (lavere h): >> EulerFramoverFunk Gi antall steg: 10 h = 8

Figur 6: Svaret på deloppgåve 2a). Figuren viser hvordan svaret konvergerar med Eulers framover-metode (venstre) og med Eulers midtpunktsmetode (høgre) 0.5000 >> EulerFramoverFunk Gi antall steg: 20 h = 0.2500 >> EulerFramoverFunk Gi antall steg: 50 h = 0.1000 >> EulerFramoverFunk Gi antall steg: 100 h = 0.0500 Etterpå gjør vi tilsvarende med midtpunktsforlemen. Resultatene er vist i gur 6. For framover-metoden ser vi ut til å trenge minst N = 100, mens N = 30 ser ut til å vere nok for midtpunktsmetoden. b) y + x 2 cos(x/2) = y, y(0) = 1, x [0, 4]. Likninga er ekvivalent med y = y x 2 cos(x/2). Vi endrer de første radene i skripta til følgande: % Tar bort gamle variable clear all % Gir start og slutt for x 9

Figur 7: Svaret på deloppgåve 2b). Som i gur 6 viser guren hvordan svaret konvergerar med Eulers framover-metode (venstre) og med midtpunktmetoden (høgre). x0=0; xslutt=4; % Initialverdi for y: y0=1; Videre endrer vi siste linje i funksjonsla til F=sqrt(y)-x^2*cos(x/2); Konvergesplottene er vist i gur 7. Framover-resultatet begynner å se konvergert ut med N = 200 (h = 0.02), mens N = 30 (h = 0.13) ser ut til å vere rikeleg med midpunktsmetoden. Ekstra: Oppgave 3 konvergensbevis a) Vi deriverer: y = y 0 (e x ) = y 0 e x = y(x). Vi ser at dierensiallikninga er oppfylt. Initialkravet er også oppfylt: y(0) = y 0 e 0 = y 0. Vi regner ut y(1): y(1) = y 0 e 1 = y 0 e. b) I følge Eulers metode får vi at y 1 = y 0 + y 0 h = y 0 (1 + h) y 2 = y 1 + y 1 h = y 1 (1 + h) = y 0 (1 + h) (1 + h) = y 0 (1 + h) 2 y 3 = y 2 + y 2 h = y 2 (1 + h) = y 0 (1 + h) 2 (1 + h) = y 0 (1 + h) 3. 10

...og så vidare. Etterhvert blir det ganske tydelig at vi for hver iterasjon multipliserer forrige ledd med (1 + h) slik at y n = y 0 (1 + h) n. c) lim y N = lim y 0(1 + h) N = y 0 N N lim N ( 1 + 1 N ) N = y 0 e. d) Eulers bakover-metode gir her følgande formel: y n+1 = y n + y n+1 h y n+1 (1 h) = y n y n+1 = y n /(1 h). Det gir at y 1 = y 2 =. y n = y 0 1 h y0 y 1 1 h = 1 h y 0 (1 h) n 1 h = y 0 (1 h) 2 Grenseverdien blir: lim y N = lim N N y 0 (1 h) N = y 0 lim N Vi har her innført variabelbyttet u = 1/N. ( 1 1 N ) N = y 0 lim u 0 (1+u)1/u = y 0 e. 11