TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Tentamen Numerieke Methoden voor Werktuigbouwkunde (2N460) op maandag 23 augustus 2010, 14.00-17.00 uur. Deel 1: Van 14.00 uur tot uiterlijk 15.30 uur. Het gebruik van het notebook is niet toegestaan. De uitwerkingen van de opgaven dienen duidelijk geformuleerd en beargumenteerd te worden.
1. Beschouw het lineaire stelsel Ax = b,
(1)
met b 6= 0. We nemen aan dat (1) een unieke oplossing x∗ heeft. (a) Geef een eenvoudig criterium voor de eenduidige oplosbaarheid van (1). (b) Geef de definitie van het conditiegetal cond(A) van de matrix A. ˆ worden achtereenvolgens gedeDe fout e en het residu r van een numerieke oplossing x ∗ ˆ − x en r := b − Aˆ finieerd door e := x x. We duiden met || · || de ∞-norm aan. (c) Toon aan dat ||e|| ≤ A−1 ||r|| en
||e|| ||r|| ≤ cond(A) . ∗ ||x || ||b||
(2)
In het vervolg van deze opgave nemen we 1 −2 −1 A= , b= , −0.99 1.99 1 en als oplosmethode kiezen we Gauss-Seidel iteratie met x(0) = 0. De numerieke oplosˆ en bijbehorend residu r na 100 iteraties worden gegeven door sing x −2.149 × 10−1 6.103 × 10−3 ˆ= x , r= . 3.958 × 10−1 0 (d) Formuleer de Gauss-Seidel iteratiemethode voor (1). (e) Bereken het conditiegetal van A. (f) Verifieer de tweede ongelijkheid in (2).
1
Tentamen Numerieke Methoden voor Werktuigbouwkunde (2N460) op maandag 23 augustus 2010, 14.00-17.00 uur.
2. De variabele u = u(x) voldoet aan het volgende randwaardeprobleem u00 + a(1 − u)eu = 0, u0 (0) = 0,
0 < x < 1,
u(1) = 0,
met a > 0. We willen een numerieke benadering voor u(x) berekenen op het rooster xi = (i − 1)h,
i = 1, 2, · · · , N,
met h = 1/(N − 1) de maaswijdte. Voor de discretisatie van u0 en u00 maken we gebruik van centrale differenties. De numerieke benadering van u(xi ) geven we aan met ui . (a) Toon aan m.b.v. Taylorreeksen dat u00 (xi ) =
1 u(x ) − 2u(x ) + u(x ) − i+1 i i−1 h2
1 2 (4) h u (xi ) 12
+ O(h4 ).
(b) Geef het differentieschema voor het randwaardeprobleem in de roosterpunten xi (i = 1, 2, · · · , N − 1). Zij u := (u1 , u2 , . . . , uN −1 )T de numerieke oplossing. Hiervoor kunnen we het nietlineaire stelsel f (u) = 0 afleiden. Dit stelsel willen we oplossen m.b.v. Newton iteratie. (c) Bepaal de vectorfunctie f (u) en de bijbehorende Jacobi matrix J(u). (d) Formuleer de methode van Newton voor f (u) = 0. Geef ook een beginschatting en een stopcriterium. Motiveer uw antwoord.
2
Tentamen Numerieke Methoden voor Werktuigbouwkunde (2N460) op maandag 23 augustus 2010, 14.00-17.00 uur. Deel 2: Direct aansluitend op deel 1. Het gebruik van het notebook is wel toegestaan.
3. In een perfect geroerde reactor vinden de volgende chemische reacties plaats 2S1 → S2 → S3 , beschreven door het beginwaardeprobleem y10 = −y12 y20 = y12 − κy2 y30 = κy2
y1 (0) = 1, y2 (0) = 0, y3 (0) = 0,
(3a) (3b) (3c)
waarbij yi = yi (t) (i = 1, 2, 3) de massafractie van stof Si voorstelt, en waarbij κ > 1 de reactiesnelheid van de tweede reactie is. We willen een numerieke oplossing van (3) bereken m.b.v. de impliciete Euler methode. De numerieke benadering van yi (tn ), tn := nh, berekend met stapgrootte h > 0, geven we aan met yi,n . (a) Toon aan dat y1 (t) + y2 (t) + y3 (t) = 1 voor alle t ≥ 0. (b) Formuleer de impliciete Euler methode voor het beginwaardeprobleem (3). (c) Geef expliciete formules voor de numerieke oplossing yi,n+1 (i = 1, 2, 3), welke niet gevoelig zijn voor cijferverlies. (d) Toon aan dat y1,n + y2,n + y3,n = 1 voor n = 0, 1, 2, . . .. Verklaar waarom Y (t) := y1 (t) + y2 (t) + y3 (t) geen discretisatiefout bevat. 4. Voor de berekening van de integraal Z b I(f ) := f (x) dx, (a < b)
(4)
a
maken we gebruik van de trapeziumregel. (a) Geef een afleiding van de enkelvoudige trapeziumregel T (f ) met bijbehorende foutterm ε(f ) voor de integraal in (4).
3
Tentamen Numerieke Methoden voor Werktuigbouwkunde (2N460) op maandag 23 augustus 2010, 14.00-17.00 uur.
4. De samengestelde trapeziumregel Th (f ) kunnen we afleiden door het interval [a, b] in k gelijke deelintervallen van lengte h = (b − a)/k te splitsen en op elk deelinterval de enkelvoudige trapeziumregel toe te passen. Op deze manier vinden we voor Th (f ) met bijbehorende fout term εh (f ) I(f ) = Th (f ) + εh (f ), k−1
X 1 f (xi ), Th (f ) = h f (x0 ) + f (xk ) + h 2 i=1 εh (f ) = Ch2 + O(hr ),
(r > 2),
met xi = a + ih (i = 0, 1, 2, . . . , k) en C een co¨effici¨ent onafhankelijk van h. Bovenstaande formule geldt mits f twee keer continu differentieerbaar is. (b) Toon aan m.b.v. Richardson extrapolatie dat voor h voldoende klein qh :=
Th/4 (f ) − Th/2 (f ) 1 ≈ . Th/2 (f ) − Th (f ) 4
Voor de berekening van Z π sin x dx
(5)
0
hebben we de beschikking over het volgende, onvolledige MATLAB-script. clear all; format long e; f = @(x) sin(x); a = 0; b = pi; n = 6; H = [ ]; Tf = [ ]; for j = 1:n k = 5*(2ˆj); h = (b-a)/k; H = [ H;h ]; . . . end qh = ( Tf(3:n)-Tf(2:n-1) )./( Tf(2:n-1)-Tf(1:n-2) ); (c) Completeer het script voor de berekening van de integraal in (5). Schrijf uw script volledig uit. Voer het resulterende script uit en geef de resultaten voor Th (f ) en qh in vier significante cijfers. Verklaar de resultaten.
4
Tentamen Numerieke Methoden voor Werktuigbouwkunde (2N460) op maandag 23 augustus 2010, 14.00-17.00 uur.
4. (d) Modificeer het script uit onderdeel (c) voor de berekening van Z 2p |x − 1| dx. 0
Geef de veranderingen in het script aan. Voer het resulterende script uit en geef de resultaten voor Th (f ) en qh in vier significante cijfers. Verklaar de resultaten.
Voor de vraagstukken kunnen de volgende aantallen punten worden behaald: 1.(a) (b) (c) (d) (e) (f)
2 1 3 1 2 1
2.(a) 2 (b) 3 (c) 2 (d) 3
3.(a) 2 (b) 2 (c) 3 (d) 3
4.(a) 3 (b) 2 (c) 3 (d) 2
5