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

Relevanta dokument
Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

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

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

dt = x 2 + 4y 1 typ(nod, sadelpunkt, spiral, centrum) och avgöra huruvida de är stabila eller instabila. Lösning.

Lösningsförslag till tentamen MVE465, Linjär algebra och analys fortsättning K/Bt/Kf

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,

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

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

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

IV. Ekvationslösning och inversa funktioner

Laboration 6. Ordinära differentialekvationer och glesa system

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

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

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

Svar till tentan

Kursens mål är, förutom faktakunskaper om kursinnehållet, att ge:

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

TMA226 datorlaboration

LABORATION cos (3x 2 ) dx I =

Laboration 3. Funktioner, vektorer, integraler och felskattning

Tentamen SF1661 Perspektiv på matematik Lördagen 18 februari 2012, klockan Svar och lösningsförslag

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

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

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

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

Sammanfattning (Nummedelen)

Kurs: HF1903 Matematik 1, Moment TEN1 (Linjär Algebra) Datum: 25 augusti 2017 Skrivtid 8:00 12:00

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

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

Egenvärdesproblem för matriser och differentialekvationer

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

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

Tentamen i Beräkningsvetenskap I (1TD393)

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

Lösningar till Matematisk analys

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

TAIU07 Matematiska beräkningar med Matlab

Inlämningsuppgifter i Funktionsteori, vt1 2012

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

betecknas = ( ) Symmetriska egenskaper hos derivator av andra ordningen. (Schwarzs sats)

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 de icke obligatoriska workoutuppgifterna

MMA132: Laboration 2 Matriser i MATLAB

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

Omtentamen i DV & TDV

Prov i matematik Fristående kurs Analys MN1 distans UPPSALA UNIVERSITET Matematiska institutionen Anders Källström

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

Lösningar tentamen i kurs 2D1210,

Komplettering: 9 poäng på tentamen ger rätt till komplettering (betyg Fx).

Matematisk statistik

Lösningsförslag envariabelanalys

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

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

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

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

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

Lösningsförslag, v0.4

Inlämningsuppgifter i Funktionsteori, vt 2016

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

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

DEL I. Matematiska Institutionen KTH

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

Om användning av potensserier på kombinatorik och rekursionsekvationer

Inlämningsuppgifter i Funktionsteori, ht 2018

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

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

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

Studio 6: Dubbelintegral.

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

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Tentamen i Mekanik SG1130, baskurs. Problemtentamen

TANA17 Matematiska beräkningar med Matlab

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

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

Projekt Finit Element-lösare

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

TMV225 Inledande Matematik M

TANA17 Matematiska beräkningar med Matlab

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

KTH Matematik SF1633 Differentialekvationer I, för I1 Kontrollskrivning nr 2, Måndag den 31 mars 2008, kl Version: A Namn:... Personnr:...

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

Björn Lindenberg Laboration 3 del 1

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.

Lösning till tentamen i SF1633 Differentialekvationer I för BD, M och P, , kl

SF1544 LABORATION 2 INTEGRATION, MONTE-CARLO OCH BLACK-SCHOLES EKVATION FÖR OPTIONER

Transkript:

KTH Matemati Tentamen del 2 SF1511, 2017-03-16, l 800-1100, Numerisa metoder och grundläggande programmering Del 2, Max 50p + bonuspoäng (max 4p) Inga hjälpmedel Rättas endast om del 1 är godänd Betygsgränser inl bonuspoäng: 10p D, 20p C, 30p B, 40p A P1 Givet differentialevationen d 3 y dx cos(x)dy 3 dx α d2 y dx = 0, y(0) = 10, dy d (0) = 0, 2 dx 2 y (0) = 1 dx2 (4p) (6p) (7p) a Sriv om problemet till ett system av differentialevationer av första ordningen b Sriv ett Matlab-program som löser det omsrivna problemet för α = 01 för x på intervallet 0 till 5 och ritar upp funtionen w(x) = y(x) + 5y (x) c När ett program som löser differentialevationen ördes för α = 005 fic man y(5) till 1746407 När α ändrades till 05 blev y(5) = 2477647 Du vill hitta ett α som ger y(5) = 20 Man an göra detta på flera olia sätt Besriv en algoritm, tex i form av ett Matlab-program, som med fem decimalers noggrannhet hittar α Disutera hur effetiv din algoritm är Alltför ineffetiva metoder ger inte full poäng Lösning: P1a Låt u 1 (x) = y(x), u 2 (x) = y (x) och u 3 (x) = y (x) Det ger d dx u 1 (x) u 2 (x) = u 3 (x) u 2 (x) u 3 (x) cos(x)u 2 (x) + αu 3 (x), u 1 (0) 10 u 2 (0) = 0, u 3 (0) 1 eftersom u 3(x) = y (x) = cos(x)y (x) + αy (x) = cos(x)u 2 (x) + αu 3 (x) P1b alfa = 01; % alfa h = 02; % Steglängd för oberoende variabeln x xve = [0:h:5] ; % x-intervall u = [10 0 1] ; % Startvärden för y, y och y umat = u ; % Lagra u for x = xve(1:end-1) u = u + h*fun(x, u, alfa); % Framåt Euler umat = [umat ; u ]; % Lagra u end w = umat(:,1) + 5*uMat(:,2); % w = y + 5y plot (xve, w)

P1c Gör först om programmet i deluppgift (b) till en funtion som tar α som indata och som returnerar y(5) Man behöver byta ut raden alpha=01 till en funtionsheader och lägga till en rad på slutet som ser till att rätt värde returneras: function y5 = y5fun(alpha) <som tidigare, men utan raden som sätter alpha till 01> y5 = u(1); Man anropar sedan funtionen y5fun i ett yttre program som använder tex seantmetoden för att hitta det α som ger y5fun= 20, enligt: tol = 05e-5; a0 = 005; f0 = y5fun(a0)-20; a1 = 05; f1 = y5fun(a1)-20; while abs(a1-a0)>tol any = a1 - f1*(a1-a0)/(f1-f0); a0 = a1; f0 = f1; a1 = any; f1 = y5fun(a1)-20; end disp(a1) % Feltolerans % Startgissningar från uppgiftstexten % Seantmetoden P2 Ändarna av en två meter lång stav hålls vid de onstanta temperaturerna 20 C respetive 100 C Den stationära temperaturfördelningen u(x) i staven bestäms då av differentialevationen (10p) (10p) (4p) d2 u dx 2 = ex, u(0) = 20, u(2) = 100, där är stavens värmeledningsförmåga a Formulera en andra ordningens finit differensmetod för detta randvärdesproblem Låt u = (u 0,, u n+1 ) T eller u = (u 1,, u n ) T (välj det du föredrar) innehålla approximationerna u j u(x j ), där x j = hj och h = 2/(n + 1) Metoden leder till ett linjärt evationssystem Au = b av storle n n Härled uttryc för elementen i A-matrisen och i högerledet b när n = 3 (Evationssystemet behöver inte lösas) b Implementera metoden i Matlab för fallet = 5 Programmet sa räna ut vetorn u Det sa vara generellt och unna anropas med olia värden på n c Utöa ditt Matlab-program så att det ocså beränar en andra ordningens approximation av u (1) Var god vänd

Lösning: P2a I varje inre punt, j = 0,, n + 1 eller j = 1,, n, approximerar vi andraderivatan i evationen med andra ordningens centraldifferensvot Det ger d 2 u dx 2 j u j 1 2u j + u j+1 h 2 u j 1 2u j + u j+1 h 2 = e x j, j = 0,, n + 1 eller j = 1,, n Multiplicera med h 2 och dividera med, u j 1 + 2u j u j+1 = h 2 ex j, j = 0,, n + 1 eller j = 1,, n (1) För j = 0,, n + 1, sätt in randvilloren på första och sista raden i matris A Det ger det linjära evationssystemet Au = b med 1 1 2 1 A =, 1 2 1 1 och högerledet 20 h 2 ex 1 b = h 2 exn 100 När n = 3 har vi h = 1/2 och systemet blir 1 0 0 0 0 u 0 20 1 2 1 0 0 u 1 e 0 1 2 1 0 u 2 0 0 1 2 1 u 3 = 05 4 e 4 e 15 4 0 0 0 0 1 u 4 100 För j = 1,, n, utnyttja randvilloren för att eliminera u 0 och u n+1 : u 0 = 20, u n+1 = 100 Detta ger för j = 1, och för j = n, 2u 1 u 2 = h 2 ex 1 u n 1 + 2u n = h 2 exn + 20, (2) + 100 (3)

Tillsammans ger (1,2,3) det linjära evationssystemet Au = b med 2 1 1 2 1 A =, 1 2 1 1 2 och högerledet b = h 2 ex 1 + 20 h 2 ex 2 h 2 ex n 1 h 2 exn + 100 När n = 3 har vi h = 1/2 och systemet blir e 2 1 0 u 05 1 + 20 4 1 2 1 u 2 = e 4 0 1 2 u e 15 3 + 100 4 P2b och c clear all, close all, clc n = 3; % Antal inre punter = 5; % Stavens värmeledningsförmåga h = 2/(n+1); % Steglängd i x x = [0:h:2] ; % Oberoende variabeln % För j = 0,, n+1 sup = -ones(n+1, 1); % Superdiagonalen d = 2*ones(n+2, 1); % Huvuddiagonalen sub = -ones(n+1, 1); % Subdiagonalen A = diag(sup,1) + diag(d,0) + diag (sub,-1); % A-matrisen A(1,1) = 1; % Ändra första raden A(1,2) = 0; % Ändra första raden A(end, end-1) = 0; % Ändra sista raden A(end, end) = 1; % Ändra sista raden b = 005*exp(x); % b-vetorn b(1) = 20; % Ändra första elementet b(end) = 100; % Ändra sista elementet u = A\b; % Beräna u % För j = 1,, n sup = -ones(n-1, 1); % Superdiagonalen d = 2*ones(n, 1); % Huvuddiagonalen sub = -ones(n-1, 1); % Subdiagonalen A = diag(sup,1) + diag(d,0) + diag (sub,-1); % A-matrisen b = 005*exp(x(2:end-1)); % b-vetorn b(1) = b(1) + 20; % Justera 1:a elementet b(end) = b(end) + 100; % Justera sista elementet u = A\b; % Beräna u u = [20 ; u ; 100]; % Lägg till ränderna

% Beräna u (1), dvs uppgift P2c if 1 == mod(n,2) % Om n är udda uprimvidx1 = (u(n/2+25) - u(n/2+05)) / (2*h) else % Om n är jämnt uprimvidx1 = (u(n/2+2) - u(n/2+1)) / h end P3 Givet I = 4 f(x)dx med värden enligt tabellen 0 x 0 1 2 3 4 f(x) 200 250 281,5 299,5 300 I h betecnar approximationen av I, då I beränas med trapetsregeln med steglängden h Om någon deluppgift behöver resultatet från en föregående deluppgift och du inte har egna resultat, får du använda en rimlig uppsattning a Beräna I 4 för hand b Beräna I 2 för hand c R 2 betecnar en Richardsonextrapolation utifrån I 4 och I 2 Beräna R 2 för hand d Beräna I 1 för hand e R 1 betecnar en Richarsonextrapolation utifrån I 2 och I 1 Beräna R 1 för hand (2p) (2p) f Gör en Richardsonextrapolation för hand utifrån R 2 och R 1 g Sriv ett matlabprogram som beränar I h, där steglängden h är en variabel som tilldelas ett värde i början av programmet Antag att det i samma mapp finns en färdigsriven fil funm med indata x och utdata f(x) enligt ovan, dvs favx = fun(x) Ovanstående tabell sa alltså inte användas Lösning: P3a 4(200/2 + 300/2) = 1000 P3b 2(200/2 + 2815 + 300/2) = 1063 P3c 1063 + (1063 1000)/(2 2 1) = 1084 P3d 1 (200/2 + 250 + 2815 + 2995 + 300/2) = 1081

P3e 1081 + (1081 1063)/(2 2 1) = 1087 P3f 1087 + (1087 1084)/(2 4 1) = 10872 P3g clear all, close all, clc h = 02; % Valfri steglängd x = 0:h:4; % x-vetor f = fun(x); % Färdigsriven funtion favx=fun(x) I = h * (sum(f) - f(1)/2 - f(end)/2) % Trapetsregeln