Matematikk Øvingsoppgaver i numerikk leksjon 9. Løsningsforslag

Like dokumenter
Matematikk Øvingsoppgaver i numerikk leksjon 7. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

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

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 8. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

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

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 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 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

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

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

Matematikk Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 4 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 5 Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 3. Løsningsforslag

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

Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

Høgskolen i Oslo og Akershus. i=1

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

Matematikk Øvingsoppgaver i numerikk leksjon 5. Løsningsforslag

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 =

Matematikk Øvingsoppgaver i numerikk leksjon 5 Skript

Fasit MAT102 juni 2016

Matematikk Øvingsoppgaver i numerikk leksjon 7 Numerisk derivasjon

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

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

Matematikk Øvingsoppgaver i numerikk leksjon 2 Funksjoner og plotting

1. (a) Finn egenverdiene og egenvektorene til matrisen A =

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

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

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Løsningsforslag MAT102 - v Jon Eivind Vatne

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

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

Matematikk Øvingsoppgaver i numerikk leksjon 9 Numerisk integrasjon

Alle svar skal grunngis. Alle deloppgaver har lik vekt.

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

x n+1 = x n f(x n) f (x n ) = x n x2 n 3

Løsningsforslag MAT102 Vår 2018

Fasit eksamen i MAT102 4/6 2014

Oblig 1 - vår 2015 MAT1012

Matematikk Eksamensaktuelle numerikk-oppgåver

x 2 = x 1 f(x 1) (x 0 ) 3 = 2 n x 1 n x 2 n 0 0, , , , , , , , , , , 7124

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

x 2 = x 1 f(x 1) (x 0 ) 3 = 2 x 2 n n x 1 n 0 0, , , , , , , , , , , 7124

Oppgave x d 1.0 for n from 1 by 1 to 200 do x d sin x end do

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

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag

Oppgave Iterasjonen ser ut til å konvergere sakte mot null som er det eneste fikspunktet for sin x.

Løsningsforslag AA6524 Matematikk 3MX Elever AA6526 Matematikk 3MX Privatister eksamensoppgaver.org

MA1102 Grunnkurs i analyse II Vår 2014

: subs x = 2, f n x end do

Matematikk Øvingsoppgaver i numerikk leksjon 2 Løsningsforslag

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.

Eksamen R2 Høsten 2013 Løsning

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 =

9 + 4 (kan bli endringer)

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

with plots plot sin x, x =KPi..Pi Pi 3 eval tan eval cos K1 1 > evalf sin 3 2 K 2 $Pi

Matlab-tips til Oppgave 2

Fagdag Plan: Instruks: Innledning: Hva mener man med "numerisk matematikk"? Fd 4 - Numeriske metoder

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

MAT jan jan feb MAT Våren 2010

Høgskolen i Oslo og Akershus. c) Et annet likningssystem er gitt som. t Bestem parametrene s og t slik at likningssystemet blir inkonsistent.

Øvingsforelesning i Matlab TDT4105

Løsningsforslag AA6524 Matematikk 3MX Elever 7. juni eksamensoppgaver.org

TDT4105 IT Grunnkurs Høst 2014

NTNU. TMA4105 Matematik 2 våren Maple-øving 1. Viktig informasjon. Institutt for matematiske fag. maple01 1.

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

Bootstrapping og simulering Tilleggslitteratur for STK1100

Matematikk Øvingsoppgaver i numerikk leksjon 8 Numerisk integrasjon

Løsningsforslag. og B =

UNIVERSITETET I OSLO

BYFE DAFE Matematikk 1000 HIOA Obligatorisk innlevering 5 Innleveringsfrist Fredag 15. april 2016 kl 14 Antall oppgaver: 8

UNIVERSITETET I OSLO

Løsningsforslag i matematikk

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

Matematikk Øvingsoppgaver i numerikk leksjon 3 Funksjoner og plotting

Løsningsforslag. Prøve i Matematikk 1000 BYFE DAFE 1000 Dato: 29. mai 2017 Hjelpemiddel: Kalkulator og formelark. Oppgave 1 Gitt matrisene.

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

UNIVERSITETET I OSLO

Løsningsforslag. og B =

MAT1110: Obligatorisk oppgave 2, V Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Løsningsforslag AA6526 Matematikk 3MX - 8. desember eksamensoppgaver.org

Litt om numerisk integrasjon og derivasjon og løsningsforslag til noen ekstraoppgaver MAT-INF 1100 uke 48 (22/11-26/11)

dg = ( g P0 u)ds = ( ) = 0

Deleksamen i MAT111 - Grunnkurs i Matematikk I

Transkript:

Matematikk 000 Øvingsoppgaver i numerikk leksjon 9 Løsningsforslag Oppgave Integral som en sum av rektangler a) 3 f(x) dx = 3 x 3 dx = [ ] 3 3 + x3+ = [ x 4 ] 3 4 = 34 = 20. 4 b) 0.5 f() + 0.5 f(.5) + 0.5 f(2) + 0.5 f(.5) = 0.5 ( 3 +.5 3 + 2 3 + 2.5 3) = 4. Vi ser at dette samla arealet ligger et godt tykke under integralet fra a). Dette er ikke så overranskende om vi sammenligner gur og 2 i oppgavesettet. c) og d) Vi ser at jo ere intervaller vi deler [, 3] opp i, jo nærmere blir summen av rektangel-arealet det totale arealet i gur 3; det vite området mellom grafen og rektanglene blir mindre og mindre når n øker. Vi skal regne ut summen x n n f(x i ), i= med x n = (3 )/n og x i = + (i ) x n. Det kan vi gjøre med dette skriptet: % Skript som estimerer et integral som en sum 2 % av arealene til rektangler 3 4 % Bestemmer antall del-intervaller 5 n=4; 6

7 % Integrasjonsgrenser 8 a=; 9 b=3; 0 % Regner ut Delta X 2 DeltaX=(b-a)/n; 3 4 % Setter summen til null 5 S=0; 6 7 % for-løkke som beregner summen 8 for i=:n 9 xi=a+(i-)*deltax; % Finner x_i 20 fi=xi^3; % Tilsvarende funksjonsverdi 2 S=S+fi; % Oppdaterer sum 22 end 23 24 % Regner ut svaret og skriver det til skjerm 25 Svar=DeltaX*S Skriptet heter Rsum.m. Her har vi først satt n til 4 for å kunne kontrollere at svaret faktisk blir 4, slik vi vet det skal bli. Det gjør det: >> format compact 4 Når vi nå skal endre på n i linje 5, kan vi gjøre dette på en ganske smidig måte ved å bruke input-fuksjonen i MATLAB; vi endrer linje 5 til n=input('hvor mange del-intervaller skal vi bruke? '); Når vi nå kjører skriptet, vil det stoppe å be deg gi n fra kommandovinduet. På den måten slipper vi å gå inn å endre n for hånd hver gang. 7.4800 Hvor mange del-intervaller skal vi bruke? 20 8.7200 2

9.4832 0 9.7408 0 9.9480 00 9.9740 00 9.9948 000 9.9974 000 9.9995 Hvor mange del-intervaller skal vi bruke? 30000 9.999 Først når vi hadde delt [, 3] opp i 30 000 del-intervaller, kk vi et svar med ein feil som var mindre enn 0 3. e) Vi endrer linje 9 i skriptet til xi=a+i*deltax; % Finner x_i Når vi nå igjen estimerer integralet for stadig høyere verdier av n, får vi konsekvent en verdi som er for høy: 22.6800 3

20.5232 0 20.2608 00 20.0260 000 20.0026 Hvor mange del-intervaller skal vi bruke? 20000 20.003 Hvor mange del-intervaller skal vi bruke? 30000 20.0009 Nok en gang måtte vi opp i ca. 30 000 del-intervaller for å få den ønskede presisjonen. f) Vi endrer linje 9 igjen: xi=a+(i-/2)*deltax; % Finner x_i Når vi nå estimerer integralet, nærmer vi oss fasiten langt raskere: Hvor mange del-intervaller skal vi bruke? 4 9.7500 9.9600 9.9984 0 9.9996 00 del-intervaller var nok! 4

Oppgave 2 Integral som en sum av trapeser a) Arealet blir: 0.5(f() + f(.5))/2 + 0.5(f(.5) + f(2))/2 + 0.5(f(2) + f(2.5))/2 + 0.5(f(2.5) + f(3))/2 = 0.5 (f()/2 + f(.5)/2 + f(.5)/2 + f(2)/2 + f(2)/2+ f(2.5)/2 + f(2.5)/2 + f(3)/2) = 0.5 (f()/2 + f(.5) + f(2) + f(2.5) + f(3)/2) = () 0.5 ( /2 +.5 3 + 2 3 + 2.5 3 + 3 3 /2 ) = 20.5 b) Venstre-summen har vi fra før: Høgre-summen blir og gjennomsnittet av de to blir S v = 0.5 (f() + f(.5) + f(2) + f(2.5)). S h = 0.5 (f(.5) + f(2) + f(2.5) + f(3)), 2 (S v + S h ) = (f() + f(.5) + f(2) + f(2.5) + f(.5) + f(2) + f(2.5) + f(3)) = 4 (f() + 2f(.5) + 2f(2) + 2f(2.5) + f(3) + f(2) + f(2.5) + f(3)) = 4 0.5 (f()/2 + f(.5) + f(2) + f(2.5) + f(3)/2). Vi kjenner igjen dette uttrykket fra deloppgave a) (likning ). c) og d) Det kan være naturlig å ta utgangspunkt i skriptet fra oppgave. Vi har her valgt å kopiere det over i ei ny l som vi har kalt TrapesSum.m: % Skript som estimerer et integral som en sum 2 % av arealene til trapeser 3 4 % Bestemmer antall del-intervaller 5 n=input('hvor mange del-intervaller skal vi bruke? '); 6 7 % Integrasjonsgrenser 8 a=; 9 b=3; 0 % Regner ut Delta X 2 DeltaX=(b-a)/n; 3 4 % Setter summen til null 5

5 S=0; 6 7 % for-løkke som beregner trapes-summen for de "indre punktene" 8 for i=:(n-) 9 xi=a+i*deltax; % Finner x_i 20 fi=xi^3; % Tilsvarende funksjonsverdi 2 S=S+fi; % Oppdaterer sum 22 end 23 % Det første punktet: 24 xi=a; 25 fi=xi^3; 26 S=S+fi/2; 27 % Det siste punktet 28 xi=b; 29 fi=xi^3; 30 S=S+fi/2; 3 32 % Regner ut svaret og skriver det til skjerm 33 Svar=DeltaX*S Merk at for-løkka i linje 8 går fra og med i= til og med i=n-. Det første og det siste leddet, som begge skal deles på 2, har vi håndtert separat etter for-løkka. Ellers er skriptet som i oppgave. Vi kjører det og forsøker å få feilen til å bli mindre enn 0 3 : Hvor mange del-intervaller skal vi bruke? 4 20.5000 20.0800 20.0032 0 20.0008 Hvor mange del-intervaller skal vi bruke? 80 20.002 Hvor mange del-intervaller skal vi bruke? 90 6

20.000 Vi ser at vi får en feil som er mindre enn 0 3 omtrent like rakst som da vi valgte midtpunktene for rektanglene. Oppgave 3 Uten fasit Det vil være naturlig å fortsette å bruke skriptet TrapesSum i denne oppgava. Men for å lettere endre funksjonen vi skal integrere, innfører vi ei funksjonl for denne funksjonen. Vi kaller denne IntFunk.m. Tilsvarende oppdaterer vi linjene 20, 25 og 29 i skriptet til fi=intfunk(xi). a) Vi lar funksjonsla se slik ut: function F=IntFunk(x) 2 3 % Funksjon som blir brukt av skriptet TrapesSum, som 4 % beregner et integral ved trapesmetoden 5 6 F=sin(x^2); I tillegg må vi justere grensene i linje 8 og 9 i TrapesSum til 0 og 2. Vi får 0.7959 Hvor mange del-intervaller skal vi bruke? 20 0.8026 0.8044 0 0.8047 Hvor mange del-intervaller skal vi bruke? 200 0.8048 Med tre riktige desimaler ser integralet ut til å være 0.805. 7

b) Funksjone sin x 2 har rett og slett ikke noen anti-derivert som kan skrives som en enkel, ekplisitt funksjon. Ingen av de teknikkene vi har, er i stand til å gi en anti-derivert av denne funksjonen. Slik er det for mange elementære funksjoner. c) i) Vi oppdaterer funksjonen vår; det vil si vi endrer linje 6 i IntFunk.m til F=x*exp(x^3); (om vi kaller argumentet x eller t spiller ingen rolle). Vi justerer også integrasjonsgrensene i linje 8 og 9 i TrapesSum til -5 og 2. Når vi leker oss i kommandovinduet, får vi: 2.0949e+03 0 552.2275 0 523.4777 00 522.5655 Hvor mange del-intervaller skal vi bruke? 2000 522.3373 00 522.2734 000 522.2643 Med én riktig desimal, ser svaret ut til å være 522.3. Her måtte vi bruke en høy n-verdi for å få et noenlunde nøyaktig svar. ii) Vi endrer linje 6 i IntFunk til F=tan(x^2+); oppdaterer integrasjonsgrensene og får: 8

0.9730 0.970 Hvor mange del-intervaller skal vi bruke? 5 0.9792 0.9730 Hvor mange del-intervaller skal vi bruke? 20 0.975 0.970 0 0.970 Med re rette desimalar ser svaret ut til å være 0.970. iii) Vi gjør de vanlige endringene og kjører på: Hvor mange del-intervaller skal vi bruke? 5 4.4409e-7 3.3307e-7 Hvor mange del-intervaller skal vi bruke? 20 4.4409e-7 4.4409e-7 9

Vi ser at svaret konsekvent ligger ned mot maskinpresisjonen eller under. Mye tyder på at integralet er null. d) Om vi plotter funksjonen vi skal integrere, er det lett å forstå hvorfor vi får null for integralet i c) iii). Se gur. Til venstre for y-aksen er funksjonen negativ slik at vi får et negativt bidrag til integralet. Til høgre for y-aksen får vi et like stort positivt bidrag. Dermed blir summen av de to bidragene null. Figur : Vi ser at det røde området, som gir et negtivt bidrag til integralet, er like stort i areal som det grønne, som gir et positivt bidrag. Summen blir null. e) Vi oppdaterer funksjonen og integrasjonsgrensene igjen og prøver oss: 0.8700 Hvor mange del-intervaller skal vi bruke? 20 6.9894 -.28 0 0.8878 Hvor mange del-intervaller skal vi bruke? 200 0

7.4804 0-0.9257 00.546 Her ser det ikke ut til at summen nærmer seg noe i det hele tatt. Grunnen til det er at integralet ikke er veldenert. Tangens-funksjonen, tan x, går mot ± når x nærmer seg π/2. For vår funksjon skjer dette når x 2 + = π/2 eller x = π/2 0.76. Se gur 2. Heldigvis gir dette seg utslag Figur 2: Plott av funksjonen tan(x 2 +). Funksjonen har ein loddrett asymptote for x = pi/2. i at vi ikke får noen konvergent verdi for trapes-summen. Hadde vi vært uheldige, hadde vi fått et tilsynelatende konvergert svar for et integral som ikke ns. Numeriske beregninger er ikke alltid en idiotsikker aære. Ekstra-oppgave: Monte Carlo-integrering a) Siden begge uttrykkene skal gi y, kan vi helt enkelt sette dem (tilnærma) lik hverandre: b a b a b a f(x) dx n n f(x i ) i= f(x) dx b a n n f(x i ) i=

b) Hvis ` rand' gir et tilfeldig tall mellom 0 og, må `a+(b-a)*rand' gi et tilfeldig tall mellom a og b. Vi tester: >> a=-; >> b=; >> a+(b-a)*rand ans = -0.553 >> a+(b-a)*rand ans = -0.04090 >> a+(b-a)*rand ans = -0.75354 >> a+(b-a)*rand ans = -0.73380 >> a+(b-a)*rand ans = 0.50765 >> a+(b-a)*rand ans = 0.9263 >> a+(b-a)*rand ans = -0.60546 Dette ser ut til å fungere. (Husk å bruke pil-tastene når du repeterer kommandoer på denne måten.) c) Vi velger oss integralet (x 2 + e x ) dx = 2 3 + e e. Nedenfor er et forslag til hvordan metoden kan implementeres. Uttrekket av x er gjort i linje 4. Vi har valgt å lage en vektor med sekvenser av Monte Carlo-estimater inni for-løkka slik at vi kan bruke dene til å plotte konvergensen etterpå. Dette er også gjort i skriptet fra og med linje 9. % Skript som regner ut integralet av funksjonen gitt ved 2 % IntFunk.m fra a til b ved Monte Carlo-metoden 3 4 % Integrasjonsgrenser 5 a=-; 6 b=; 7 % Maksimalt antall trekninger 8 nmax=00; 9 0 % Setter summen til 0: S=0; 2 for i=:nmax 3 x=a+(b-a)*rand; % Trekker tilfeldig x i intervallet 4 y=intfunk(x); % Bestemmer funksjonsverdi 5 S=S+y; % Summerer 2

6 IntEst(i)=(b-a)*S/i; % Bestemmer estimat av integralet 7 end 8 9 % Plotter estimatet som funksjon av antall trekk 20 plot(:n,intest,'bx','linewidth',2) 2 % Plotter også eksakt svar 22 IntEksakt=2/3+exp()-exp(-); 23 hold on 24 plot([ nmax],[ ]*IntEksakt,'k-') 25 hold off 26 % Justerer opp skriftsstørrelsen på aksene 27 set(gca,'fontsize',20) 28 xlabel('antall trekk') Vi har kalt skriptet `MonteCarlo.m'. Som vi ser, plotter det integralestimatet som funksjon av antall trekk. Når vi kjører det i MATLAB, ser det slik ut: >> MonteCarlo Nedre integrasjonsgrense: - Oevre integrasjonsgrense: Maksimalt antall trekk: 00 Selvsagt vil vi ikke få de samme sekvensene av x-verdier hver gang vi kjører skriptet. Derfor vil estimatet gå mot integralet på ulike måter hver gang vi kjører skriptet. I gur 3 har vi vist hvordan tre ulike sekvenser konvergerer. Selv om disse resultatene ser ganske ulike ut for hver gang, Figur 3: Tre sekvenser med Monte Carlo-estimat av integralet (x2 + e x ) dx. Den svarte linja er den eksakte verdien av integralet. ser alle tre ut til å konvergere mot riktig svar men ganske sakte. At 3

konvergensen går sakte ser vi enda tydeligere i gur 4. Først etter ere Figur 4: Konvergensplott for en lengre sekvens av en Monte Carlo-beregning. tusen trekk begynner kurva å plassere seg oppå verdien av integralet (på denne skalaen). Like fullt er Monte Carlo-integrering en svært nyttig og mye brukt teknikk ikke minst når man skal beregne er-dimensjonale integraler. (Det skal vi ikke gjøre i dette kurset.) 4