Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Relevanta dokument
Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

f(x + h) f(x) h f(x) f(x h) h

Labb 3: Ekvationslösning med Matlab (v2)

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Newtons metod och arsenik på lekplatser

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

MMA132: Laboration 2 Matriser i MATLAB

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Lösningsförslag Tentamen i Beräkningsvetenskap I, 5.0 hp,

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Linjärisering och Newtons metod

Del I: Lösningsförslag till Numerisk analys,

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

Laboration 3. Funktioner, vektorer, integraler och felskattning

Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper

Modul 4 Tillämpningar av derivata

LABORATION cos (3x 2 ) dx I =

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

Konvergens för iterativa metoder

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

Laboration 3. Funktioner, vektorer, integraler och felskattning

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

SF1625 Envariabelanalys

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Flervariabelanlys och Matlab Kapitel 3

Linjärisering, Jacobimatris och Newtons metod.

Betygskriterier Matematik D MA p. Respektive programmål gäller över kurskriterierna

Flervariabelanalys och Matlab Kapitel 3

Matematik 3 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

TAIU07 Matematiska beräkningar med Matlab

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Introduktion till Matlab

Introduktion till Matlab

MATEMATIKPROV, LÅNG LÄROKURS BESKRIVNING AV GODA SVAR

Sammanfattning (Nummedelen)

5B1134 Matematik och modeller Lösningsförslag till tentamen den 29 augusti 2005

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

Facit Tentamen i Beräkningsvetenskap I (1TD393 - nya versionen, 5hp!)

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Fallstudie: numerisk integration Baserad på läroboken, Case Study 19.9

Kontrollskrivning KS1T

Föreläsning 1. Numeriska metoder grundkurs II, DN1240. Carina Edlund Mottagningstid i rum 4516: onsdagar kl.

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Envariabelanalys 5B1147 MATLAB-laboration Derivator

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

TANA17 Matematiska beräkningar med Matlab

R AKNE OVNING VECKA 2 David Heintz, 13 november 2002

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

Tentamen i Beräkningsvetenskap I (1TD393)

Syftet med veckans övningar. Något om MATLAB. Vecka 1 matte D del C

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Laboration 3. Ergodicitet, symplektiska scheman och Monte Carlo-integration

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

En vanlig uppgift är att bestämma max resp min för en trigonometrisk funktion och de x- värden för vilka dessa antas.

5B1134 Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under läsåren och

SF1669 Matematisk och numerisk analys II Lösningsförslag till modelltentamen DEL A

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

4 Numerisk integration och av differentialekvationer

Envariabel SF1625: Föreläsning 11 1 / 13

Introduktion till MATLAB

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

x sin(x 2 )dx I 1 = x arctan xdx I 2 = x (x + 1)(x 2 2x + 1) dx

Matematik 5 Kap 3 Derivator och Integraler

Meningslöst nonsens. December 14, 2014

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

MMA132: Laboration 1 & 2 Introduktion till MATLAB

PRÖVNINGSANVISNINGAR

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 13:e januari klockan

SF1625 Envariabelanalys

Icke-linjära ekvationer

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Matlab övningsuppgifter

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Numerisk Analys, MMG410. Lecture 10. 1/17

Beräkning av integraler

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Tentamen i matematik. f(x) = ln(ln(x)),

5B1134 Matematik och modeller Lösningsförslag till tentamen den 13 januari T = 1 ab sin γ. b sin β = , 956 0, 695 0, 891

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

RIEMANNSUMMOR. Den bestämda integralen definieras med hjälp av Riemannsummor. Låt vara en begränsad funktion,, reella tal och. lim.

Laboration 2, M0043M, HT14 Python

Gripenberg. Mat Grundkurs i matematik 1 Tentamen och mellanförhörsomtagning,

MATEMATIKPROV, LÅNG LÄROKURS BESKRIVNING AV GODA SVAR

Ekvationer & Funktioner Ekvationer

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Transkript:

10 februari 2017 Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration Syfte med övningen: Introduktion till ett par numeriska metoder för lösning av ekvationer respektive numerisk integrering. Övning i att använda matlab. Illustration av linjär approximation och integralbegreppet. En beskrivning av Newton-Raphsons metod finns i kursbokens (ET7/8) kapitel 4.8, och av numerisk integration i avsnitt 7.7. Läs gärna de avsnitten. Läs igenom hela texten i detta pm! Varje uppgift innehåller några frågor, besvara dem! Samla kod i körbara script respektive funktionsfiler. Gör helst en scriptfil per uppgift. Skriv en kort rapport med svar på frågor och valda illustrationer i exv Word. Ladda upp filerna till en mapp M2 i din inlämningsmapp/dropbox på kurssciosidan (MA123G VT17) som dokumentation. 1

Newton-Raphsons metod för ekvationslösning En metod för att approximera lösningar till ekvationen f(x) = 0 är Newton- Raphsons metod, där man, givet ett värde x 0 skapar en följd av tal x 0, x 1, x 2,..., x N på följande sätt: För ett givet x n låter vi L n vara den linjära approximationen till f kring x = x n dvs L n (x) = f(x n ) + f (x n )(x x n ). (Grafen till den linjära approximationen är tangentlinjen till y = f(x) i x = x n.) Sedan låter vi x n+1 vara roten till den linjära ekvationen L n (x) = 0. L n (x n+1 ) = 0 f(x n ) + f (x n )(x n+1 x n ) = 0 x n+1 = x n f(x n) f (x n ). På så vis får vi en följd av tal, som förhoppningsvis snabbt närmar sig en lösning till ekvationen f(x) = 0. Vi kan implementera Newton-Raphsons metod i matlab på följande sätt: Om f(x) och f (x) är två funktioner (matlabuttryck, skapade som anonyma funktioner eller en funktionsfil) så ger xx=x 0 ; for k=1:n; x=xx(end); % Plockar sista värdet i listan xx xx=[xx x-f(x)./f (x)]; end en lista xx med värdena x 0,..., x n, som fås enligt Newton-Raphsons metod med startvärde x 0. (x 0 skall alltså bytas ut mot startvärdet, f(x) mot den funktion du vill använda, f (x) mot en funktion som är derivatan av den förra och n mot antalet gånger du vill iterera.) Figur 1: Visualisering av Newton- Raphsons metod på ekvationen x 4 = 1 (x 4 1 = 0) med startvärde x 0 = 0.7. 2

Uppgift 1. Gör en funktion, definierad i en funktionsfil, med prototypen (det som följer function på första raden) xx=mynewton(f,df,x0,n) som kör Newton-Raphson för hitta ett (närapå) nollställe till funktionen f med derivata df (båda givna som function handle), och ett startvärde x0 med n iterationer (for-vändor). Funktionen ska som resultat ge en vektor med n + 1 komponenter: startvärdet följt av alla värden som beräknas per iteration (dvs som xx i koden ovan). Exempelkörning för x 2 1, given som en anonym funktion: >> format long; ns = mynewton( @(x)x^2-1, @(x)2*x, 2, 3 ) ns = 2.000000000000000 1.250000000000000 1.025000000000000 1.000304878048780 Använd din funktion för att beräkna en rot till ekvationen cos x = 0. Pröva med några olika startvärden, till exempel 1, 0.1, 0.01 och 0, och använd ett lämpligt antal iterationer. Varför blir resultaten olika? Modifiera funktionen till en funktion mynewton2(f,df,x0,tol) som istället för att köra ett givet antal iterationer istället kör tills f(x) är högst tol. Tips: Byt ut for-satsen mot while abs(f(xx(end)))>tol. Exempelkörning: >> format long; ns = mynewton2( @(x)x^2-1, @(x)2*x, 2, 0.01) ns = 2.000000000000000 1.250000000000000 1.025000000000000 1.000304878048780 Provkör med olika toleranser på cos x = 0. Not: Matlab har också en inbyggd ekvationslösare som heter fzero. Jämför gärna med vad den ger för rot. 3

Numerisk integrering En av de enklaste formerna av numerisk integrering är trapetsmetoden. Då approximerar man en funktion med en styckvis linjär funktion, som sedan lätt kan integreras genom att summera de trapetsareor som bildas i denna approximation (se figur 2). (Trapets=fyrhörning med två sidor parallella.) Notera att arean av en sådan trapets är lika med medelvärdet av de stående sidornas längder gånger basens längd. (Se också Stewart Calculus ET, avsnitt 7.7.) Om vi vill approximera värdet av integralen b a f(x)dx genom att använda värdena x 0, x 1,..., x n, där a = x 0 < x 1 < x 2 < < x n = b. 2 1.8 1.6 1.4 1.2 1 0.8 0.6 så får vi med trapetsmetoden en approximation till integralen som summan n M i x i, i=1 där M i = 1 2 (f(x i 1) + f(x i )) är medelvärdet av sidhöjderna i trapets nr i och x i = x i x i 1 är längden av samma trapets bas. 0.4 0.2 0 0 1 2 3 4 5 6 7 Figur 2: Approximation av funktion för beräkning av integral med trapetsmetoden. I matlab kan vi göra så här: Antag att vi har en lista av tal x 0, x 1,..., x n (av växande storlek) i en matlab-vektor x och en lista av motsvarande funktionsvärden y=f(x). Vi skapar en lista av baslängder: dx=diff(x) (diff(x) skapar en vektor som består av differensen mellan på varann följande element i vektorn x.) Sedan en vektor med medelvärdena mellan på varann följande funktionsvärden: my=(y(1:end-1)+y(2:end))/2 Vi skapar sedan en vektor av trapetsareor : ydx=my.*dx Nu kan vi skapa den bestämda integralen genom att summera dessa areor, vilket vi kan göra med sy=sum(ydx) Variabeln sy håller nu integralens värde. (Tips: Matlab skriver normalt inte ut mer än fyra decimaler, skriv format long för att se fler.) 4

Uppgift 2. Beräkna med trapetsmetoden en approximation av integralen 1 0 x dx med några olika uppdelningar av integrationsintervallet. Rita också en graf av den approximerande styckvis linjära funktionen (av samma typ som den blå kurvan i figur 2) för varje uppdelning. Beräkna det exakta värdet av integralen med hjälp av en primitiv funktion. Är värdet som man får genom trapetsmetoden en underskattning eller en överskattning? Har det något med andraderivatan att göra? Uppgift 3. Hitta själv på en integral att beräkna med trapetsmetoden. Använd en funktionsfil för att definiera integranden. Kan du bedöma ifall trapetsmetoden ger en överskattning eller en underskattning av integralen? Extrauppgift: Med x och y som ovan, kan man göra hela trapetsmetoden som y *a*x för en lämplig n n-matris a (om x och y är kolonnvektorer; y*a*x om de är radvektorer). Hur ska matrisen a se ut? Matlab har också mer avancerade numeriska integrationsmetoder (Simpsons formel adaptivt rekursivt) i form av funktionerna quad och quadl. Har du tid över får du gärna pröva dem. 5