OH till Föreläsning 12, NumMet O1, God programmeringsteknik

Relevanta dokument
OH till Föreläsning 15, Numme K2, God programmeringsteknik

OH till Föreläsning 14, Numme I2, God programmeringsteknik

OH till Föreläsning 5, Numme K2, Läsa mellan raderna. Allmän polynom-interpolation, S Ch 3.1.0

Sammanfattning (Nummedelen)

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

OH till Föreläsning 5, Numme K2, GNM Kap 4-4.4A / GKN Kap 4.1A,(D),E Interpolation. Läsa mellan raderna. Allmän polynom-interpolation

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

Föreläsning 8, Numme i2,

DN1212 Numeriska Metoder och Grundläggande Programmering DN1214 Numeriska Metoder för S Lördag , kl 9-12

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Omtentamen i DV & TDV

Numeriska metoder för fysiker Lördag , kl 10-14

Intervallhalveringsmetoden, GKN sid 73. Sekantmetoden, GKN sid 79

Lösningar tentamen i kurs 2D1210,

DN1212 för M: Projektrapport. Krimskramsbollen. av Ninni Carlsund

Föreläsning 5. Approximationsteori

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

Tentamen del 1 SF1511, , kl , Numeriska metoder och grundläggande programmering

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Interpolation Modellfunktioner som satisfierar givna punkter

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Runge-Kuttas metoder. Repetition av FN6 (GNM kap 6.

Fel- och störningsanalys

LABORATION cos (3x 2 ) dx I =

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

Fel- och störningsanalys

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Interpolation. 8 december 2014 Sida 1 / 20

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

Lösningsförslag till tentamensskrivningen i Numerisk analys

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Konvergens för iterativa metoder

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Differentialekvationer. Repetition av FN5 (GNM kap 6.

Tentamen, del 2 DN1240 Numeriska metoder gk II för F

DN1212+DN1214+DN1215+DN1240+DN1241+DN1243 mfl Lördag , kl 9-12 Tentamen i Grundkurs i numeriska metoder Del 1 (av 2)

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen

Sammanfattninga av kursens block inför tentan

Tentamen i Teknisk-Vetenskapliga Beräkningar

Varning!!! Varning!!!

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

Tentamen i Beräkningsvetenskap II, 5.0 hp,

DN1212+DN1214+DN1215+DN1240+DN1241+DN1243 mfl Tentamen i Grundkurs i numeriska metoder Del 2 (av 2) Lördag , kl 9-12

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

Laboration 6. Ordinära differentialekvationer och glesa system

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

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

Omtentamen i DV & TDV

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

NUMPROG, 2D1212, vt Föreläsning 9, Numme-delen. Stabilitet vid numerisk behandling av diffekvationer Linjära och icke-linjära ekvationssystem

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

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

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Standardform för randvärdesproblem

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 13 jan 2014

Icke-linjära ekvationer

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Kontrollskrivning KS1T

Ordinära differentialekvationer,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

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

Kort sammanfattning av Beräkningsvetenskap I. Varning!!! Varning!!!

a = a a a a a a ± ± ± ±500

Tentamen i Beräkningsvetenskap I, DV, 5.0 hp, OBS: Kurskod 1TD394

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 30 augusti 2002 TID:

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

Numeriska metoder, grundkurs II. Dagens program. Gyllenesnittminimering, exempel Gyllenesnittetminimering. Övningsgrupp 1

MMA132: Laboration 2 Matriser i MATLAB

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

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

Numerisk Analys, MMG410. Lecture 13. 1/58

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Anteckningar Numeriska Metoder

2D1210, Numeriska Metoder, GK I för V 2.

Icke-linjära ekvationer

Samtliga deluppgifter i denna uppgift använder följande differentialekvation. Deluppgift a görs för hand

Numerisk Analys, MMG410. Lecture 12. 1/24

Uppgift 1 R-S. Uppgift 2 R-M. Namn:...

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

SF1664 Tillämpad envariabelanalys med numeriska metoder Lösningsförslag till tentamen DEL A

SF1545 Laboration 1 (2015): Optimalt sparande

Tentamen i Beräkningsvetenskap II, 5.0 hp,

f (a) sin

Transkript:

OH till Föreläsning 2, NumMet O, 40303 Hela GKN-boken & hela kursen! God programmeringsteknik Tänk efter före: - Definiera problemet VAD skall göras? -Bestäm algoritm och lagrings-struktur - Dela upp i små delar Skriv sedan kod - Dela upp i små delar - Bra variabelnamn -Lägg data i variabler/konstanter -Använd färdigkod/rutiner -AnvändFOR-ochWHILE-slingor! Undvik kod-upprepning! -Använd FOR då antalet upprepningar är känt. -Använd WHILE då antalet upprepningar inte är känt. - Kommentera koden medan du skriver den. - Indentera - Snygg kod oftast rätt! - Överför info mellan programdelarna som parametrar. Undvik GLOBAL. Debugga sedan koden - Debugga både delarna och helheten! -Omnågot fel envisas: Handjaga detaljerna, antag inget! - Fundera igenom vilka fel som kan uppstå. 30% av ovana programmerares programrader exekveras aldrig. När sedan programmet är färdigt skriv om det. Det är normalt först tredje versionen som blir bra. Att tänka på både vid köp och försäljningav kod!. Effektivitet -Använd färdig-debuggad kod! -Använd bra metoder/algoritmer. - Tagut onödiga beräkningar ur loopar. Förkompilera koden. Förallokera vektorer. Använd Matlabs punktnotation i stället för FOR-slinga. Tänk dock på att de allra flesta program körs färre än 0 gånger och det är den totala tiden som skall optimeras.

Grundläggande idéer: räta linjer och upprepning Approximera funktionen en liten bit med en rät linje Men olika val av linjer ger olika svar, en del är bättre än andra. Oftast, men inte alltid, blir det bättre ju kortare linjer man har. Exempel: f x y x gjord som enkelsidig f fx + h fx x h centrerad f fx + h fx h x 2h med E trunk ch med E trunk ch 2 Det fel som vi har infört genom att approximera den riktiga funktionen med en rät linje kompenserar vi sedan för genom någon form av upprepning. På så vis blir trunkeringsfelet till slut acceptabelt litet. Upprepningen hjälper oss också att se felets storlek. Upprepningen sker i form av iteration eller rekursion: Iteration T.ex. Newton-Raphson: x n+ x n fx n /f x n Rekursion T.ex. Eulers metod: { yn+ y n + hy x n,y n x n+ x n + h x n och x n+ beskriver allt bättre samma värde. y n och y n+ beskriver olika värden. y n behövs för att beräkna y n+. y n+ y n x n+ x n x n x n+ Beteckningar x betecknar exakta värdet. Det är sällan känt. x betecknar närmevärdet. Det är det vi räknar ut, vår approximation! E x max x x gränsen för absoluta felet. R x Ex x Ex x gränsen för relativa felet. E tab osäkerhet i utdata pga osäkra indata. E ber osäkerhet i utdata pga avrundade mellanresultat. E trunk osäkerhet i utdata pga kapad Taylorutveckling eller kapad iteration eller ändligt steg. E pres osäkerhet i utdata pga egen slutlig presentationsavrundning. 2

Tabellfelet, E tab Tabellfelet uppstår genom felfortplantning. Om indata är osäkra blir även resultatet osäkert: w fx,y,z,... där x x ± E x,yỹ ± E y, z z ± E z, osv w w ± E w Tabellfelet skattas med tex: Allmänna felfortplantningsformeln w f x, ỹ, z E w f x E x + f y E y + f z E z +... där derivatorna beräknas i punkten x, ỹ, z Störningsräkning dvs AFFF med numeriskt skattade derivator praktisk! w f x, ỹ, z E w f x+e x, ỹ, z f o + f x, ỹ+e y, z f o + f x, ỹ, z + E z f o +... där f o w Min-och-max-räkning Finn maximala och minimala resultatet, f max och f min, tex genom att beräkna funktionsvärdet med alla möjliga kombinationer av störda parametrar. Denna metod blir mycket arbetssam om man har många parametrar! w f max + f min /2 E w f max f min /2 Beräkningsfelet, E ber Detta fel är svårskattat. Datorn avrundar ju alla sina mellanresultat till det antal siffror den räknar med. Försök att undvika kancellation och utskiftning så minimeras beräkningsfelet. Ekvationslösning Förbehandling: Bakgrundsinformation. Grafisk teknik och uppdelning. Matematik antag x liten eller stor och förenkla, kolla tecken hos derivatan, mm Intervallhalvering. Fortsättningsmetoder: De är alla iterativa metoder: gissa x 0,förbättra enligt x n+ x n t n,fortsätttills t blir tillräckligt liten. Om t n+ /t n konstant såär konvergensen linjär. Om t n+ /t 2 n konstant såär konvergensen kvadratisk. En ekvation med en obekant Newton-Raphson t n fx n /f x n t n+ K t 2 n x Sekantmetoden t n fx n n x n fx n fx n t n+ K t n t n Fixpunktsmetoden t n+ K t n, K Ickelinjära ekvationssystem Sökt x såatt f x 0.Denendametodvilär oss är iterativ, Newtons metod: Gissa x 0. 2 Beräkna vektorn f f x n ochmatrisenj f x x n. 3 Lös ekvationssystemet J t f t n J n 4 Bättre approximation x n+ x n t n 5 Om inte t n tillräckligt liten, upprepa från punkt 2 med x n+. Ettvanligtsätt att skatta trunkeringsfelet är att titta på sistaanvända korrektionen t. Oftastär detta en grov överskattning, men om konvergensen är långsam, t n /t n > 0.5, så är det inte ens tillräckligt! Trunkeringsfelet kan då varastörre än sista korrektionen! Det är bla därför man måste titta på hurdan konvergens man har. Om den inte är som teorin säger är något fel. 3 f n

Linjära ekvationssystem a x + a 2 x 2 + a N x N b a 2 x + a 22 x 2 + a 2N x N b 2.. a N x + a N2 x 2 + a NN x N b N Ax b har en lösningom A existerar dvs om deta 0såär x A b. Annars har ekvationssytemet ingen eller oändligt antal lösningar. x 2 Normer ett mått på vektorer x 2 + x2 2 + + x2 N x max i N x i A max i N vanliga största elementet N a ij tyngsta raden j Konditionstalet, κa Illakonditionerat Känsligt för störningar. Tidsåtgång κa A A Praktisk skattning: κa R ut R in Bandmatris : T N Triangulär matris : T N 2 Full matris : T N 3 Minstakvadratmetoden Används då man har fler villkor än obekanta, dvs överbestämda ekvationssystem. Överbestämda linjära ekvationssystem Ac b där A har fler rader än kolumner. MKV löser systemet så att r 2 b Ac 2 minimeras. Löses som A T Ac A T b c A T A A T b A T A har lika många rader som kolumner. Antalet rader i A T A är detsamma som antalet kolumner i A som är detsamma som antalet obekanta parametrar. Löses i ett stegdvs direkt, inga iterationer. Kontroll: A T r 0. Överbestämda ickelinjära ekvationssystem f c 0 där f har fler komponenter än c. Löses med MKV Gauss-Newtons metod så att f 2 minimeras. Iterativ metod! Gissa c 0. 2 Beräkna vektorn f f c n ochmatrisenj f c c n. 3 Lös det överbestämda linjära ekvationssystemet J t f t n Jn T J n J T n fn 4 Bättre approximation c n+ c n t n 5 Om inte t n tillräckligt liten, upprepa från punkt 2 med c n+. 4

Interpolation Allmänt: Givet tabell x x x 2 x N y y y 2 y N Sökt yx för punkter däremellan. Polynominterpolation Naiv ansats Newtons ansats Centrerad ansats px c + c 2 x + c 3 x 2 + c 4 x 3 +... px c + c 2 x x +c 3 x x x x 2 +c 4 x x x x 2 x x 3 +... px c + c 2 x m+c 3 x m 2 + c 4 x m 3 +... Koefficienterna bestäms med px i y i vilket ger ett linjärt ekvationssystem. Med naiva ansatsen får ekvationssystemet ofta stort konditionstal. Med Newtons ansats blir ekvationssystemet lättlöst och får ofta lågt konditionstal. De olika ansatserna ger olika koefficienter men det erhållna polynomet är detsamma. Vid höga gradtal uppträder Runges fenomen. E trunk skattas genom att göra beräkningar med olika gradtal på polynomet. Styckvis interpolation Grundidé: Lägg ett nytt polynom i varje intervall [x i,x i+ ]. Linjär IP: Förstagradspolynom. Behöver y i varje punkt x i.drarrätlinje mellan varje punktpar. Hermite: Tredjegradspolynom. Behöver y och y i varje punkt x i. Splines: Tredjegradspolynom. Behöver bara y i varje punkt x i. Metoden beräknar/skattar/gissar y och y enligt kravet att de är kontinuerliga. Integraler I b a fxdx Trapetsregeln { I T h h 2 fa+fa + h+fa +2h+ + fb h+ } 2 fb E trunk T h I c h 2 + c 2 h 4 + c 3 h 6 +... T h T 2h T h är bra skattningav integralen om { h tillräckligt litet för att följa kurvan T 2h T 4h T h T 2h 22 4 Rombergs metod Trapetsregeln + Richardsonextrapolation T h I + c h 2 + c 2 h 4 +... T 2h I +4c h 2 +64c 2 h 4 +... T 4h I +6c h 2 + 256 c 2 h 4 +... ˆT h bra om ˆT h ˆT h+ ˆT h ˆT 2h 5 T h T 2h ˆT h T h+ I + c h 4 +... 3 T 2h T 4h ˆT 2h T 2h+ I +6c h 4 +... 3 I + c h 6 +... T 2h T 4h T h T 2h 22 4 dvsfeletit ch 2 ˆT h bra om ˆT 2h ˆT 4h ˆT h ˆT 2h 24 6 dvs felet i ˆT ch 4 5

Matlab: Iquad8 funk,a,b,tol, Etrunkabstol*I % OK om kurvan snäll Matlab: Iquadl funk,a,b,tol, Etrunktol % OK om kurvan snäll Förbehandling: Substitution Uppdelning Kapning Partiell integration Ordinära differentialekvationer begynnelsevärdesproblem BV Våra metoder klarar bara första ordningens differentialekvationer, men det är inget problem ety högre ordningens differentialekvationer kan alltid skrivas om till ett system av första ordningen. Skriv på standardform : dȳ dx fx, ȳ ȳa c, ȳb? Lösningsidé: Approximera kurvan en kort bit med en rät linje. Linjens lutningges av differentialekvationen och metoden, olika metoder ger olika lutning. Eulers metod Linjens lutningen beräknas till derivatan i startpunkten: { yn+ y n + hfx n,y n y 0 c x n+ x n + h x 0 a E trunk yx; h yx c h + c 2 h 2 + c 3 h 3 + c 4 h 4 +... yx; h yx;2h Metoden är lätt att programmera men har låg noggrannhet. Runge-Kuttas metod Linjens lutningen beräknas som ett viktat medelvärde av derivatan i startpunkten, mittpunkten och slutpunkten: k hfx n,y n k 2 hfx n + h/2,y n + k /2 k 3 hfx n + h/2,y n + k 2 /2 k 4 hfx n + h, y n + k 3 { yn+ y n +k +2k 2 +2k 3 + k 4 /6 y 0 c x n+ x n + h x 0 a E trunk yx; h yx c h 4 + c 2 h 5 + c 3 h 6 + c 4 h 7 +... yx; h yx;2h Runge-Kutta är lite klurigare att programmera än Eulers metod men den ger mycket bättre svar vid samma mängd beräkningar. I Matlab finns de två ODE-lösarna ode23 och ode45 som bygger på Runge-Kutta och adaptiv steglängd. Trunkeringsfelet skattas genom att jämföra resultatet från två beräkningar med olika steglängd: y0c; tolvalodeset RelTol, e-6; tolval2odeset RelTol, e-9; [xut,yut]ode45 dydx,[a b],y0,tolval; nlengthxut; yyutn,; [xut,yut]ode45 dydx,[a b],y0,tolval2; n2lengthxut; y2yutn2,; plotxut,yut; svary2 % Eftersom sökt yb och y2 beräknad med minsta steget. if n n2; Etrunkabsy-y2, end; 6

Ordinära differentialekvationer randvärdesproblem RV En metod +en extra att välja på: Finita-Differens-Metoden FDM förr Bandmatrismetoden Ersätt alla derivator med differenser dvs både i differentialekvationen och randvillkoren. 2 Diskretisera integrations-intervallet. 3 Sätt in differenserna i alla diskretiseringspunkter ekvationssystem. 4 Lös ekvationssystemet med Newtons metod om icke-linjärt. 5 Upprepa från 2 med dubbla antalet diskretiseringspunkter dvs halva steget om felet är för stort. E trunk kommer från vald steglängd och hur länge man itererar i Newton om man hade ett icke-linjärt ekvationssystem och skattas genom att jämföra lösningen beräknad med dubbla steget. E trunk yx; h yx;2h y x yx + h yx h 2h y x yx + h 2yx+yx h h 2 Inskjutningsmetoden även kallad provskottsmetoden Gissa det saknade startvärdet. 2 Lös diffekvationen med en metod för begynnelsevärdesproblem BV. 3 Kolla hur stort felet blev i slutet genom att jämföra med det givna randvillkoret. 4 Gissaettnyttstartvärde. 5 Lös ånyo med BV-metoden. 6 Kolla hur stort felet blev denna g ång. Om tillräckligt litet, stanna: vår lösningär OK. Om för stort: 7 Bestäm nytt startvärde utgående från de senaste två gissningarna vi gjort sekantmetoden. 8 Upprepa från 5. E trunk kommer från vald steglängd i BV-metoden och hur länge man itererar för att hitta det rätta startvärdet. Slut på denna nummekurs. Lycka till med det fortsatta nummandet! 7 c 204 Ninni Carlsund Levin

Exempel på inskjutningsmetoden. Beräkna y0.0,y0.,y0.2 och y0.3. Använd inskjutningsmetoden och Eulers metod med steget h 0.. y x 2 +6y y Lösning y0.3 0.7 y 0.0 0.4 Det är ett RV-problem eftersom randvillkoren är givna i olika punkter. Fär att kunna använda Eulers metod som är en BV-metod måste vi ha alla randvärdena givna i samma punkt. Vi skriver om till standardform: u yx u 2 y u y x u 2 x u 2 y x x 2 +6y y x 2 +6u 2 u u vilket skrivet i vektorform blir : ū ū u x 2 2 +6u 2 u Eulers metod blir då u 2 { ūn+ ū n + h ū n x n+ x n + h med startvärden ū 0 u x 0 u0 u 2 x 0 u 20 Ivårt fall har vi u 20 0.4 men vi saknar ett värde på u 0.Istället har vi fått värdet på y i punkten x 0.3. Med steget h 0. ochvåra beteckningar betyder detta att vi vet värdet på u efter tre steg, u 3 0.7 Det inskjutningsmetoden innebär är att vi måste gissa ett värde på u 0 och räkna fram vad vi får på u 3.Omvifår 0.7 betyder det att vi gissade rätt, annars får vi göra om med ett nytt startvärde på u 0. Gissning Jaggissar u 0 0.7 ibristpåfantasiså antar jagatt u x yx inteändras alltför mycket mellan x 0 och x 0.3. Jagskall nu lösa begynnelsevärdesproblemet; tre stegmed Eulers metod ty x 0 0,x 0.,x 2 0.2,x 3 0.3 upp till fyra decimaler redovisas: Steg : Steg 2: Steg 3: u0 ū 0 u 20 ū ū 0 + h ū 0 0.7 0.4 0.7 0.4 u 0.74 ū u 2 0.568 ū 2 ū + h ū 0.74 0.568 ū 2 u2 u 22 ū u 0 20 0.4 x 2 0 +6u 20 u0.68 0.7 0.04 0.74 + 0.4 0.68 0.568 0.4 +0..68 +0. 0.7968 0.8209 ū 3 ū 2 + h ū 2 0.7968 0.8209 +0. ū u 2 0.5680 x 2 +6u 2 u 2.5293 0.568 0.74 0.0568 + 2.5293 0.568 0.2529 0.7968 0.8209 ū u 2 22 0.8209 x 2 2 +6u 22 u2 3.9566 0.8209 0.7968 0.082 + 3.9566 0.8209 0.3957 0.8789.266 Denna Euler-räkningkan redovisas kompaktare med följande tabell n x n ū n T ū n T h ū n T 0 0.0 0.7000 0.4000 0.4000.6800 0.0400 0.680 0. 0.7400 0.5680 0.5680 2.5293 0.0568 0.2529 2 0.2 0.7968 0.8209 0.8209 3.9566 0.082 0.3957 3 0.3 0.8789.266 Jagfick u 3 0.8789, inte 0.7, alltså har jag gissat fel. Ny gissning behövs. 8

Gissning 2 Eftersom jagfick ett för stort slutvärde så chansar jagnu på ett lite mindre, jaggissar nu u 0 0.6. Nu har jagvad jagbehöver fär att göra en ny Euler-räkningfrån x 0 0 till x 3 0.3 Den redovisas i tabellform: n x n ū n T ū n T h ū n T 0 0.0 0.6000 0.4000 0.4000.4400 0.0400 0.440 0. 0.6400 0.5440 0.5440 2.0954 0.0544 0.2095 2 0.2 0.6944 0.7535 0.7535 3.673 0.0754 0.367 3 0.3 0.7698.0703 Nu fick jag u 3 0.7698, bättre men inte riktigt bra. Vidare räkningar Ett nytt startvärde behövs men denna gånggissar jaginte vilt utan använder sekantmetoden på devärden jag har. Med startgissningen 0.7 blev felet i slutet 0.8789 0.7 0.789 och med startgissningen 0.6 blev felet i slutet 0.7698 0.7 0.0698: z n z n 0.6 0.7 Sekantmetoden : z n+ z n f n 0.6 0.0698 f n f n 0.0698 0.789 0.536 Min nya startgissning blir alltså u 0 0.536 Den nya Euler-beräkningen redovisas i tabellform igen: n x n ū n T ū n T h ū n T 0 0.0 0.536 0.4000 0.4000.2866 0.0400 0.287 0. 0.576 0.5287 0.5287.833 0.0529 0.833 2 0.2 0.6290 0.720 0.720 2.79 0.072 0.272 3 0.3 0.7002 0.9832 Slutvärdet är inte riktigt bra, jag kör ett varv till. Nytt startvärde blir 0.536 0.0002 0.536 0.6 0.0002 0.7698 0.5359 Den nya Euler-beräkningen redovisas ånyo i tabellform: n x n ū n T ū n T h ū n T 0 0.0 0.5359 0.4000 0.4000.2863 0.0400 0.286 0. 0.5759 0.5286 0.5286.8325 0.0529 0.833 2 0.2 0.6288 0.79 0.79 2.70 0.072 0.27 3 0.3 0.7000 0.9830 Nu stämmer slutvärdet och kör man sekantmetod-formeln ett varv till får man korrektionen till startvärdet.2 0 7 och samma värden med fyra decimaler. De sökta värdena är således y0 0.5359, y0. 0.5759, y0.2 0.6288 och givetvis y0.3 0.7000. Trunkeringsfelet i svaret beror av när vi stannar i sekantmetoden samt steglängden i Euler. Här dominerar felet från Euler! Gör man om beräkningarna med steget h 0.05 får man y0 u 0 0.579, y0. u 2 0.560, y0.2 u 4 0.692 och y0 u 6 0.7000. För att få fyrasäkra decimaler var jagtvungen att ha h<0.000, dvs över 3000 stegi varje Euler-beräkning! När jagbytte ut Euler mot ODE45 fick jagsvaret med en tiondel så mycket arbete. Använd inte Euler! Gissat y00.7 Gissat y00.6 Gissat y00.53609 Gissat y00.53595 0.5 0 0. 0.2 0.5 0 0. 0.2 0.5 0 0. 0.2 0.5 0 0. 0.2 Rätta värdena med fyra decimaler är y0 0.4943, y0. 0.54, y0.2 0.6060 och y0.3 0.7000. Om man gör ett stegs Rich.-extr. på Euler-värdena får man rätta svaret med 75% av ODE45-arbetet. Om man väljer RK med h 0. ochgör ett stegs Rich. får man rätta svaret med 25% av ODE45-arb. 9 c 204 Ninni Carlsund Levin