TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

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

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

Sammanfattning (Nummedelen)

) + γy = 0, y(0) = 1,

Omtentamen i DV & TDV

Omtentamen i DV & TDV

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

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 ( )(

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

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

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A. r cos t + (r cos t) 2 + (r sin t) 2) rdrdt.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

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

Linjärisering, Jacobimatris och Newtons metod.

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

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

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

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

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

Laboration 6. Ordinära differentialekvationer och glesa system

15 februari 2016 Sida 1 / 32

Tentamen i Teknisk-Vetenskapliga Beräkningar

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

LABORATION cos (3x 2 ) dx I =

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

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

Moment 4.11 Viktiga exempel 4.32, 4.33 Övningsuppgifter Ö4.18-Ö4.22, Ö4.30-Ö4.34. Planet Ett plan i rummet är bestämt då

SF1626 Flervariabelanalys

Interpolation Modellfunktioner som satisfierar givna punkter

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

Lösningar tentamen i kurs 2D1210,

6. Temperaturen u(x) i positionen x av en stav uppfyller värmeledningsekvationen. u (x) + u(x) = f(x), 0 x 2, u(0) = 0 u(2) = 1,

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

Konvergens för iterativa metoder

Tentamen i tmv036c och tmv035c, Analys och linjär algebra C för K, Kf och Bt A =, = det(a λi) = e 2t + c 2. x(t) = c 1. = c 1.

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

Lösningsanvisningar till vissa av de icke obligatoriska workout-uppgifterna i Beräkningsvetenskap II

TMV225 Inledande Matematik M

Numerisk Analys, MMG410. Lecture 13. 1/58

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Tentamen i Beräkningsvetenskap I/KF, 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

Egenvärdesproblem för matriser och differentialekvationer

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

Repetition, Matematik 2 för lärare. Ï x + 2y - 3z = 1 Ô Ì 3x - y + 2z = a Ô Á. . Beräkna ABT. Beräkna (AB) T

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

Moment Viktiga exempel Övningsuppgifter I Ö5.1b, Ö5.2b, Ö5.3b, Ö5.6, Ö5.7, Ö5.11a

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

ÖVN 2 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF1683. Inofficiella mål

1. Vi skriver upp ekvationssystemet i matrisform och gausseliminerar tills vi når trappstegsform,

Laboration 3. Funktioner, vektorer, integraler och felskattning

Preliminärt lösningsförslag till del I, v1.0

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

Newtons metod och arsenik på lekplatser

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

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

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

TMA226 datorlaboration

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

Laboration 1. x = 1±0.01, y = 2±0.05. a) Teoretiskt med hjälp av felfortplantningsformeln (Taylor-utveckling).

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

Laboration 1 i SF1544: Öva på Matlab och konstruera en optimal balk Avsikten med denna laboration är att:

Numeriska metoder för ODE: Teori

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

5B1134 Matematik och modeller Lösningsförslag till tentamen den 11 oktober 2004

har ekvation (2, 3, 4) (x 1, y 1, z 1) = 0, eller 2x + 3y + 4z = 9. b) Vi söker P 1 = F (1, 1, 1) + F (1, 1, 1) (x 1, y 1, z 1) = 2x + 3y + 4z.

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,

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

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

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

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

Föreläsning 5. Approximationsteori

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

SF1633, Differentialekvationer I Tentamen, torsdagen den 7 januari Lösningsförslag. Del I

1. Bestäm definitionsmängden och värdemängden till funktionen f(x,y) = 1 2x 2 3y 2. Skissera definitionsmängden, nivålinjerna och grafen till f.

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

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

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

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

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

Kontrollskrivning KS1T

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

BEGREPPSMÄSSIGA PROBLEM

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

Transkript:

Numerisk Analys - Institutionen för Matematik KTH - Royal institute of technology 2016-05-31, kl 08-11 SF1547+SF1543 TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20 Uppgift 1 Man vill lösa ekvationssystemet med Newtons metod. Lösningsförslag 10sin(x + y) + xy = 5 cos(xy) + 10y = 0 (a) 3p Inför lämpliga beteckningar och formulera Newtons metod för detta ekvationssystem (b) 4p Skriv ett program som bestämmer lösningen till den första ekvationen när y = 0. (c) 5p Använd (b) som startgissning (dvs vi antar att en lösning har ett litet y-värde) och skriv ett MATLAB-program som löser det olinjära ekvationssystemet. (a) och Jacobimatris Newtons metod: z = J(z) = [ ] x, f(z) = y [ ] 10sin(x + y) + xy 5 cos(xy) + 10y [ 10cos(x + y) + y ] 10cos(x + y) + x y sin(xy) x sin(xy) + 10 z n+1 = z n J(z) 1 f(z n ). (b) Man kan antingen lösa ekvationen analytiskt när y = 0: eller med Newtons metod: g=@(x) 10*sin(x)-5 gp=@(x) 10*cos(x) x=0; dx=inf; TOL=1e-10; while (abs(dx)>tol) dx=gp(x)\g(x); x=x-dx; 10sin(x) = 5 sin(x) = 1/2 x = π/3;

(c) Vi fortsätter programmet i (b) kan fortsättas: f=@(z) [10*sin(z(1)+z(2))+z(1)*z(2)-5]; J=@(z) [10*cos(z(1)+z(2))+z(2) 10*cos(z(1)+z(2))+z(2) -z(2)*sin(z(1)*z(2)),-z(1)*sin(z(1)*z(2))+10] z=[x;0]; dz=inf; while (norm(dz)>tol) dz=j(z)\f(x); z=z-dz; Uppgift 2 Följande differentialekvation ska lösas y (x) + αy(x) 2 = βx, 1 x 4. där α = 0.1. Antag att begynnelsevärdena är givna som y(1) = 1,y (1) = 0.5, y (1) = 4. (a) 6p Antag att β = 3. Skriv ett MATLAB-program som löser differentialekvationen på det givna intervallet. Basera programmet på framåt Euler med N steg och steglängd h. Skriv programmet i den här funktionen: function [y4]=solve_ode(y1,yp1,ypp1,beta,n) # Löser differentialekvationen med givna begynnelsedata # y1 är begynnelsevillkor y(1)=y1 # yp1 är begynnelsevillkor y (1)=yp1 # ypp1 är begynnelsevillkor y (1)=ypp1 # beta är parameter i differentialekvationen # y4 är approximationen vid y(4) # N är antalet diskretiseringsintervall (b) 4p Skriv ett MATLAB-program som med hjälp av solve_ode bestämmer β så att y(4) = 0. Bestäm startgissningar/startgissning genom att lösa problemet exakt för α = 0. (c) 5p Med vilken noggrannhetsordning approximerar metoden i (a) värdet y(4)? (Ingen härledning krävs.) Skriv ett program som anropar solve_ode och använder Richardsonextrapolation för att öka noggrannheten med h = 0.4 och h = 0.2. (a) Vi behöver först skriva om differentialekvationen till ett ODE-system. Vi ansätter z 1 (x) y(x) z(x) = z 2 (x) = y (x). z 3 (x) y (x) Du uppfyller z ett ODE-system: z (x) = f(x,z(x)) 2

med Programmet blir således f(x,z) := z 2 z 3 βx αz 2 1 function [y4]=solve_ode(y1,yp1,ypp1,beta,n) alpha=0.1; f=@(x,z) [z(2); z(3); beta*x-alpha*z(1)^2]; a=1; b=4; h=(b-a)/n; x=a; for i=1:n z=z+h*f(x,z) x=x+h; y4=z(1); Vi anropar programmet med: y4=solve_ode(1,0.5,4,3,n); (b) Enligt uppgiftslydelse ska startgissning bestämmas utifrån ekvationen y (x) = βx. Genom att integrera funktionen får vi att y uppfyller y(x) = 1 24 βx4 + c 1 x 2 + c 2 x + c 3. Konstanterna c 1, c 2 och c 3 bestäms utifrån begynnelsevillkor: 1 = y(1) = β 24 +c 1 +c 2 +c 3, 0.5 = y (1) = β 12 + 2c 1 + c 2, 4 = y (1) = β 6 + 2c 1 och randvärdet 0 = y(4) = β 24 44 + c 1 4 4 + c 2 4 + c 3. Problemet motsvara linjär interpolation och kan lösas med Vandermonde-matrisen: 1 1 24 1 1 1 β 0.4 4 = 1 12 2 1 0 c 1 1 6 2 0 0 c 2 0 4 4 24 4 2 4 1 c 3 I princip kan startgissning bestämmas genom att lösa 4 4-problemet för hand, men det är lättare att lösa som en dela av MATLAB-programmet. Vi använder sekantmetoden eftersom derivatan är komplicerad. A=[1/24, 1, 1, 1; 1/12, 2, 1, 0; 1/6, 2, 0, 0; 4^4/24, 4^2,4,1] 3

b=[1;0.4;4;0]; x=a\b; x0=x(); x1=x()*(1.01); f=@(x) solve_ode(1,0.5,4,x,n); f0=f(x0); f1=f(x1); TOL=1e-5; h=inf; while (abs(h)>tol) h=((x1-x0)/(f1-f0))*f1; x2=x1-h; x0=x1; f0=f1; x1=x2; f1=f(x1); x (c) Noggrannhetsordning för Euler framåt är 1. Richardsonextrapolation N1=10; N2=20; ny_approx=2*solve_ode(1,0.5,4,n2)-solve_ode(1,0.5,4,n1); Uppgift 3 Genom mätningar har vi fått följande datavärden t -1-0.5-0.25 0 0.25 1 y 9.3 5.3 5.1 4.9 5.4 11.4 (a) 6p Skriv ett MATLAB-program som bestämmer minstakvadratanpassningen av g(t) = α 1 + α 2 t + e α 1t 2 OBS: Om du använder MATLAB-operatorn \ måste du ange vilket matematiskt problem som MATLAB löser i detta steg. (b) 5p Utvidga ditt MATLAB-program i (a) så att det bestämmer minimum av minstrakvadratanpassningen. Ange tydligt hur du kommit fram till startvärden. Denna uppgift kan lösas även om (a) inte lösts. (a) Vi låter x = [α 1,α 2 ] och α 1 + α 2 t 1 + e α 1t1 2 y1 f(x) =.. α 1 + α 2 t m + e α 1tm 2 ym 4

Vi vill bestämma f(x) 0, som är ett olinjärt överbestämt ekvationssystem. Vi använder Gauss-Newton. Jacobimatrisen är I MATLAB 1 +t1 2 eα 1t1 2 t 1 J(x) =.. 1 +tme 2 α 1tm 2 t m tv=[-1;...1]; yv=[9.3;5.3... ]; m=length(tv); J=@(x) [ones(m,1)+(tv.^2).*exp(x(1)*tv.^2), tv]; f=@(x) x(1)+x(2)*tv+exp(x(1)*tv.^2)-y; h=inf; x=[1;0]; while (norm(h)>tol) h=j(x)\f(x); x=x-h; (b) Eftersom α 1 och α 2 är bestämda från (a) behöver vi ast bestämma nollställe av derivatan funktion i en variabel: g (t) = 0. g (t) = α 2 + 2tα 1 e α 1t 2 g (t) = (2α 1 + (2tα 1 ) 2 )e α 1t 2 Ekvationen g (t) = 0 går inte att lösa analytiskt. Vi använder Newtons metod (fortsättning av programmet i a): alpha1=x(1); alpha2=x(2); f=@(t) alpha2+2*t*alpha1*exp(alpha1*t^2); fp=@(t) (2*alpha1+(2*t*alpha1)^2)*exp(alpha1*t^2); h=inf; while (abs(h)>tol) h=f(t)/fp(t); t=t-h; Uppgift 4 Ingenjören Ingvar har utvecklat en numerisk metod för att lösa linjära ekvationssystem med n obekanta när matrisen är tridiagonal, och har gjort det tillgängligt i MATLAB med programmet: 5

function x=ingvars_metod(t,b,n) % T är en tridiagonal matris % b är högerledvektorn i det linjära ekvationssystemet T x = b % n är antalet obekanta i stystemet % x är lösningen till ekvationssystemet På en viss dator kommer Ingvar fram till att beräkningstiden för hans metod kan väl uppskattas till αn + β millisekunder där α = 1 och β = 10. Han vill använda det för att lösa differentialekvationen y (t) = T y(t), y(0) = y 0, vid tidpunkt t = 1 där T är en tridiagonal n n matris och y 0 en given vektor. Matrisen T och vektorn y 0 är tillgängliga i MATLAB. Vi antar att beräkningstiden för att multiplicera T med en vektor är αn/3 och att addera två vektorer är αn/10. Ett steg av bakåt Euler innebär lösningen av ett linjärt ekvationssystem. (a) 4p Skriv ett MATLAB program som beräknar lösningen med framåt Euler med N = 10 steg och h = 1/N. (b) 4p Skriv ett MATLAB program som beräknar lösningen med bakåt Euler med hjälp av Ingvars metod med N = 10 steg och h = 1/N. (c) 2p Vad är beräkningstiden för (a) respektive (b)? (d) 2p Ingvar upptäcker att problemet är styvt och att man behöver mycket finare diskretisering med framåt Euler för samma noggrannhet med bakåt Euler. Om man med framåt Euler väljer N = 1000 behöver man för samma noggrannhet ast N = 10 med bakåt Euler. Vilken metod är snabbast för att uppnå den noggrannheten för stora n-värden? Ge ett tydligt resonemang med tydliga antaganden om beräkningstider. (a) Framåt Euler: N=10; h=1/n; y=y0; n=length(y0); for i=1:n y=y+h*t*b; (b) Bakåt Euler för detta problem blir dvs y n+1 = y n + ht y n+1 y n+1 = (I ht ) 1 y n Matrisen (I ht ) är tridiagonal eftersom T är tridiagonal. 6

N=10; h=1/n; y=y0; n=length(y0); T2=-h*T; for i=1:n T2(i,i)=T2(i,i)+1; for i=1:n y=invars_metod(t2,b); (c) Summera ihop stegen i del olika delarna av algoritmerna. Det blir uppskattningsvis: Framåt Euler: N(αn/3 + Nαn/10) Bakåt Euler: N(n + 10) (om man bortser från skapandet av T2) (d) Jämför matrix-vektor produkter för N = 1000 och N = 10. Bakåt Euler är betydligt snabbare. 7