Teknisk beräkningsvetenskap I 5DV154

Relevanta dokument
Repetitionsfrågor: 5DV154 Tema 4: Förbränningsstrategier för raketer modellerade som begynnelsevärdesproblem

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

Sammanfattning (Nummedelen)

Ordinära differentialekvationer,

Omtentamen i DV & TDV

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

Numeriska metoder för ODE: Teori

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

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

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

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

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

Numeriska metoder för ODE: Teori

Lösningsförslag till tentamensskrivningen i Numerisk analys

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

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

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

Numeriska metoder för ODE: Teori

Konvergens för iterativa metoder

Icke-linjära ekvationer

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

LABORATION cos (3x 2 ) dx I =

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

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

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

= e 2x. Integrering ger ye 2x = e 2x /2 + C, vilket kan skrivas y = 1/2 + Ce 2x. Här är C en godtycklig konstant.

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

Linjär Algebra och Numerisk Analys TMA 671, Extraexempel

Numerisk Analys, MMG410. Lecture 10. 1/17

R AKNE OVNING VECKA 1 David Heintz, 31 oktober 2002

Teknisk Beräkningsvetenskap I Tema 3: Styvhetsmodellering av mjuk mark med icke-linjära ekvationer

Lösningsförslag, tentamen, Differentialekvationer och transformer II, del 1, för CTFYS2 och CMEDT3, SF1629, den 19 oktober 2011, kl. 8:00 13:00.

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

Lösningar tentamen i kurs 2D1210,

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Torsdag 28 aug 2008 TID:

Ordinära differentialekvationer,

Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A

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ösningsanvisningar till vissa av de icke obligatoriska workout-uppgifterna i Beräkningsvetenskap II

Varning!!! Varning!!!

Föreläsning 5. Approximationsteori

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

Sammanfattninga av kursens block inför tentan

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Omtentamen i DV & TDV

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

Interpolation Modellfunktioner som satisfierar givna punkter

Envariabelanalys 5B1147 MATLAB-laboration Derivator

1.5 Lösningar till kapitel 7

Laboration 2 Ordinära differentialekvationer

2. (a) Skissa grafen till funktionen f(x) = e x 2 x. Ange eventuella extremvärden, inflektionspunkter

KTH Matematik Tentamensskrivning i Differentialekvationer och transformer III, SF1637.

Numerisk Analys, MMG410. Lecture 13. 1/58

Laboration 1, M0039M, VT16

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

KTH Matematik Tentamensskrivning i Differentialekvationer I, SF1633.

Tentamen i Beräkningsvetenskap I (1TD393)

Interpolation. 8 december 2014 Sida 1 / 20

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

SF1625 Envariabelanalys Lösningsförslag till tentamen

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

TMV151/181 Matematisk analys i en variabel M/Td, 2013 MATLAB NUMERISK LÖSNING AV ORDINÄRA DIFFERENTIALEKVATIONER

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Lösningsförslag till Tentamen, SF1629, Differentialekvationer och Transformer II (del 1) 24 oktober 2014 kl 8:00-13:00.

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Lördag 26 maj 2001 TID:

BEGREPPSMÄSSIGA PROBLEM

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Matematik 3: M0031M.

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

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 16 januari 2009 TID:

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

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Måndag 14 januari 2002 TID:

FÖRSÄTTSBLAD TILL TENTAMEN

ALA-a Innehåll RÄKNEÖVNING VECKA 7. 1 Lite teori Kapitel Kapitel Kapitel Kapitel 14...

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningsförslag till inlämningsuppgift 3 i Beräkningsprogrammering Problem 1) function condtest format compact format long

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA671

För teknologer inskrivna H06 eller tidigare. Skriv GAMMAL på omslaget till din anomyna tentamen så att jag kan sortera ut de gamla teknologerna.

1.6 Lösningar till kapitel 8

Tentamen i Matematik 2: M0030M.

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Transkript:

Institutionen för datavetenskap Umeå universitet 18 december 15 Teknisk beräkningsvetenskap I 5DV154 Deltentamen inkusive svar Tid: 9. 13. Hjälpmedel: Matlab. Maximalt antal poäng: 1 5 poäng är tillräckligt för godkänt på detta delprov 1. (a) Nämn en fördel och en nackdel med att använda Newtons metod istället för fixpunktsiteration för att lösa ickelinjära ekvationer. (b) Förklara vad som menas med nogrannhetsordning. (c) Vad menas med ett styvt system när man pratar om ordinära differentialekvationer? (d) Implicita numeriska metoder för lösning av begynnelsevärdesproblem har oftast ett mycket större stabilitetsområde än explicita metoder, vilket innebär att man som regel kan välja tidssteg enbart utifrån den noggrannhet man behöver utan att ta hänsyn till stabilitetsbegränsningar. Varför använder man då inte alltid implicita metoder? [p] [3p] [p] [3p]. (a) Studera följande linjära ekvationssystem { x1 + x = 4 x 1 x = 3 Sätt upp systemet på formen Ax = b. Antag nu att vi har en störning i högerledet och istället löser A ˆx = b + δ, med A och b som tidigare, och störningen δ uppfyller δ 1 1 8. Ge en övre begränsning (beräkna denna numeriskt) av ˆx x 1, där x och ˆx är lösningarna till Ax = b respektive A ˆx = b + δ. (b) Newtons metod för att hitta nollställen till en funktion f kräver vanligtvis att man känner till funktionens derivata. Här ska vi undersöka en version som använder sig av en alternativ stegberäkning; istället för derivatan använder sig denna version av sekantapproximationen f (x k ) f (x k) f (x k 1 ) x k x k 1. (i) Skriv ner denna metod i pseudokod (du behöver alltså inte implementera metoden). Förutom att ändra stegberäkningen i Newtons metod så att den använder sig av högerledet i approximationen ovan istället för av den exakta derivatan, vilken eller vilka ändringar behövs för att metoden ska fungera? (ii) Implementera metoden och använd den för att beräkna tredjeroten ur 5 genom att lösa ekvationen f (x) = där f (x) = x 3 5. Uppskatta numeriskt metodens konvergensordning i ett fall där metoden genererar en talföljd som konvergerar mot x = 5 1/3. [1p] [3p] [1p]

3. (a) Antag att vi vill interpolera n punkter, (x i, y i ), där x i+1 > x i för i = 1,...,n 1, med en styckvis kvadratisk interpolant. Vilket är det största värdet på n för vilket man kan garantera att interpolanten blir (i) globalt kontinuerligt deriverbar (C 1 ; d.v.s. interpolanten såväl som dess derivata är kontinuerlig); (ii) globalt två gånger kontinurligt deriverbar (C ; d.v.s. interpolanten, dess derivata och dess andraderivata är kontinuerlig)? (b) Antag att funktionen f (x) är oändligt deriverbar och att vi vill beräkna I = 1 f (x)dx (i) Visa att den sammansatta mittpunktsformeln har noggrannhetsordning. (ii) Implementera den sammansatta mittpunktsformeln för att numeriskt beräkna 1 f (x)dx. Verifiera numeriskt att din metod har noggrannhetsordning vid beräkning av 1 ex dx. (Vi vet att I = e 1). Funktionen ska följa specifikationen i följande funktionshuvud function I = midpoint(fun,n) %MIDPOINT evaluate integral by the composite midpoint formula % % I = MIDPOINT(FUN,N) numerically approximates the integral % of the scalar-valued function FUN over the interval (,1) % by using the composite midpoint quadrature rule on N sub- % intervals. Input argument FUN is a function handle and N % is a positive integer. Function Y=FUN(X) should accept a % vector argument X, and return a vector Y, the integrand % evaluated at each element of X. 4. (a) Man vill numeriskt lösa begynnelsevärdesproblemet för differentialekvationen y = f (t, y) med ett schema baserat på mittpunktsformeln för integration. Följande två scheman är föreslagna: ( y k+1 = y k + t f t k + t, y ) k+1 + y k och y k+1 = y k + t f ( t k + t, y k + t ) f (t k, y k ) Bestäm villkoret för stabilitet för ovanstående scheman när de tillämpas på problemet y = λy. Ange speciellt tidsstegsbegränsningen då λ är reellt och uppfyller λ <. (b) Vi är intresserade av att bestämma avståndet y i illustrationen till höger. Newton s andra lag ger att det mekaniska systemet uppfyller m(y g ) + d y + k y =, där m är massan av klossen, k en fjäderkonstant och d en dämpningskonstant. Vid tiden t = är positionen och hastigheten för klossen kända, y() = 1 och y () =. (i) Skriv detta begynnelsevärdesproblem på standardform. (ii) Implementera en ode-lösare baserad på ett av de två föreslagna schemana från uppgift 4a och använd denna för att lösa begynnelsevärdesproblemet ovan från tiden till tiden T = 5 med m = k = 1, d = 1/5 och g = 9.8 (iii) Lös detta problem från tiden till tiden T = 5 med med Matlabs inbyggda ode-lösare ode45 samt plotta lösningen y som funktion av t. k m d y [1p] [13p] [1p] [1p]

Svar 1. (a) En fördel med att använda Newtons metod är att vi då får en snabb (kvadratisk) lokal konvergens. (b) Nogrannhetsordning anger hur felet beror på steglängden h (eller x) för en viss metod. Om en metod har noggrannhetsordning p så är felet O(h p ). (c) Ett styvt system innehåller vitt skilda tidsskalor, i fallet med ett linjärt ODE system u = Au så betyder detta att egenvärdena av matrisen A är vitt skilda i storlek. (d) Vid varje tidsteg krävs det många fler flyttalsberäkningar för en implicit metod jämfört med motsvarande explicita metod. Den explicita metod kommer därför att vara effektivare än den implicita metoden utom i de fall då den explicita metodens stabilitetsvillkor är så restriktivt att de stabila tidsstegen är avsevärt mycket mindre än vad som är motiverat ur noggrannhetssynpunkt.

Svar. (a) Ekvationsssytemet kan skrivas som Ax = b där [ ] 1 1 A =, x = 1 [ x1 x ] [ ] 4 och b = 3 (b) En begränsning av det relativa felet i högerledet ges av Vilket ger oss att x ˆx 1 x 1 κ 1 (A) b ˆb 1 = κ 1 (A) δ 1 κ 1 (A) 1 8 x ˆx 1 x 1 κ 1 (A) 1 8 Vi använder oss av matlab för att beräkna högerledet ovan enligt >> A = [1 1; 1 -]; >> b = [4; -3]; >> x = A\b; >> bound = norm(x,1)*cond(a,1)*1^-8/norm(b,1) bound = 1.7143e-8 Vilket ger oss begränsningen x ˆx 1 1.7 1 8 (i) För att använda oss av sekantapproximation behöver vi känna till de två första punkterna x och x 1. I varje steg sätter vi sedan x k+1 = x k + s där s löser f (x k ) + s f (x k) f (x k 1 ) x k x k 1 = (ii) En kod som implementerar metoden ovan är function xk = snewton(fun,x,x1) %solves nonlinear equation f(x)= by using the secant method % % FUN is a function handle to a function that given a point X returns % the value Y = FUN(X), the function evaluated at X. % % NOTE that this function returns the full sequence of numbers XK %note that this function is far from optimized for performance... xk(1)= x; xk() = x1; fold = fun(xk(1)); f = fun(xk()); tol = 1e-8; k = ; while norm(f)>tol dfdx_secant = (f-fold)/(xk(k)-xk(k-1)); s = -f/dfdx_secant; xk(k+1) = xk(k) + s; fold = f; f = fun(xk(k+1)); k = k+1; end Tredjeroten ur 5 ligger i intervallet [1,]. Körning av metoden ovan med x = 1 och x 1 = ger

>> fun = @(x) x.^3-5; >> xk = snewton(fun,1,) xk = Columns 1 through 6 1.. 1.5714 1.6879 1.7119 1.71 Columns 7 through 8 1.71 1.71 Om konvergensordningen är p har vi för tillräckligt stora k att x k+1 x C x k x p. Genom att logaritmera ovanstående uttryck har vi att log x k x logc + p log x k+1 x eller log x k+1 x /log x k x C/log x k x +p. Eftersom x k x då k kommer C/log x k x, så p log x k+1 x /log x k x. Vi beräknar ovanstående för några värden på k med hjälp av matlab >> lerror = log(abs(xk-5^(1/3))) lerror = Columns 1 through 6 -.345-1.378-1.9765-3.813-6.6-1.64 Columns 7 through 8-17.435-8.544 >> lerror(6)/lerror(5) ans = 1.6933 >> lerror(7)/lerror(6) ans = 1.641 >> lerror(8)/lerror(7) ans = 1.641 Vilket antyder att konvergensordningen är ungefär 1.6.

Svar 3. (a) (i) Om funktionen ska vara globalt kontinuerligt deriverbar kan n vara godtyckligt stort. Induktionsbevis: Det finns oändligt många kvadratiska funktioner som interpolerar (x 1, y 1 ) och (x, x ). Antag nu att vi har ett styckvis polynom som interpolerar (x 1, y 1 ), (x, y ),... (x j, y j ) och vi vill lägga till punkten (x j +1, y j +1 ), dvs vi vill hitta ett kvadratiskt polynom i intervallet (x j, x j +1 ), med specificerat värde i ändpunkterna och med derivatan specifierad i x j, detta ger oss ett ekvationssystem med tre ekvationer för våra tre obekanta (koefficienterna för polynombiten vi lägger till). (ii) Om funktionen ska vara två gånger kontinuerligt deriverbar och samtidigt på varje intervall vara ett andragradspolynom så kommer funktionen att vara ett andragradspolynom. Det största antalet punkter som man garanterat kan interpolera med ett andragradspolynom är 3. (b) (i) Låt x i = (i 1/) x för i = 1,,..., N. Den numeriska approximationen av 1 f (x)dx beräknad med den sammansatta mittpunktsregeln med steglängd x är I x M [f ] = x f (x n ). Genom att bryta upp integralen i N delar och Taylorutveckla varje del för sig får vi 1 f (x)dx = = = xn + x/ x n x/ xn + x/ x n x/ f (x)dx (f (x n ) + f (x n )(x x n ) + f (ξ n (x)) (x x n) ] [ x f (x n ) + f (ξ n ) ( x/)3 = I x x3 M [f ] + 3 4 f (ξ n ) ) dx där ξ n (x) är ett tal mellan x n och x och ξ n är ett tal i intervallet [x n x/, x n + x/]. Den sista summan innehåller N funktionsvärden och är lika med N gånger medelvärdet av dessa funtionsvärden. Då funtionen är kontinuerlig så finns ett tal ξ [,1] så att f (ξ) är just detta medelvärde. Alltså har vi 1 f (x)dx = I x x3 M [f ] + där den sista likheten följer av att xn = 1. 4 N f (ξ) = I x M [f ] + x 4 f (ξ), (ii) En implemention av mittpunktsmetoden ges av function I = midpoint(fun,n) %MIDPOINT evaluate integral by the composite midpoint formula % [...] xx = linspace(,1,n+1); xmid = (xx(1:end-1)+xx(:end))/; I = fun(xmid)*ones(n,1)/n; %note that deltax = 1/N Genom att numeriskt beräkna integralen 1 för några olika intervallstorlekar (halvera x varje steg) och jämföra felen får vi att >> E1 = abs(midpoint(@exp,1)-(exp(1)-1)); >> E = abs(midpoint(@exp,)-(exp(1)-1)); >> E4 = abs(midpoint(@exp,4)-(exp(1)-1)); >> E8 = abs(midpoint(@exp,8)-(exp(1)-1)); >> E1/E ans = 3.9991 >> E/E4 ans = 3.9998 >> E4/E8 ans = 3.9999 Så felet minskar med ungefär en faktor 4 när x halveras, vilket antyder att noggrannhetsordningen är.

Svar 4. (a) För det första schemat får vi för y = λy (b) Vilket efter omskrivning blir (om λ t ) y k+1 = y k + tλ y k+1 + y k y k+1 = 1 + λ t 1 λ t y k Metoden säges vara stabil om y k+1 y k, vilket i detta fall gäller om 1 + λ t 1 λ t 1 Vilket är sant om 1 + x 1 x, där x = tλ/, vilket i sin tur är sant för alla x som uppfyller Re{x}. För λ < är alltså schemat stabilt för alla tidssteg t >. Det andra schemat blir för y = λy: ( y k+1 = y k + tλ y k + t ) λy k = y k + tλy k + t λ Metoden säges vara stabil om y k+1 y k, vilket i detta fall gäller om 1 + 1 (1 + tλ) 1. ( 1 y k = + 1 ) (1 + tλ) y k För λ reellt ger villkoret ovan att (1 + tλ) 1, vilket medför tλ. I fallet där λ < får vi villkoret att t / λ måste vara uppfyllt för att metoden ska vara stabil. (i) Låt u 1 = y och u = y, begynnelsevärdesproblemet kan då skrivas ( ) ( ) ( ) ( ) u1 u u1 () 1 =, = (mg du ku 1 )/m u () u (ii) Den andra metoden kan implementeras som function [t,y] = expmidpoint(f,tspan,y,deltat) %assume that the time interval tspan(1) to tspan() can be divided into an %integer number of subintervals of length deltat t = tspan(1):deltat:tspan(); y = zeros(length(y),length(t)); y(:,1) = y(:); for k = 1:length(t)-1 kappa = f(t(k), y(:,k)); y(:,k+1) = y(:,k) + deltat*f((t(k)+t(k+1))/,y(:,k) + deltat*kappa/); end y = transpose(y); Högerledet f (t, y) med m = k = 1, d = 1/5 och g = 9.8 ovan kan skrivas som >> m=1; k=1; d=1/5; g=9.8; >> f = @(t,u) [u(); (m*g-d*u()-k*u(1))/m]; Vi får en numerisk lösning till systemet och plottar denna genom att skriva >> [t,y] = expmidpoint(f,[ 5],[1 ],.1); >> plot(t,y) (iii) För att istället använda ode45 och plotta lösningen kan vi skriva >> [t,y] = ode45(f,[ 5],[1 ]); >> plot(t,y) där f är definierad som ovan.