Opdrachten numerieke methoden, serie 2

Vergelijkbare documenten
Opdrachten numerieke methoden, week 1

Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003

Opgaven bij Numerieke Wiskunde I

UNIVERSITEIT TWENTE Faculteit Elektrotechniek, Wiskunde en Informatica

e x x 2 cos 2 (sin t) cos(t) dt

Oefenopgaven wi3097: Numerieke methoden voor differentiaalvergelijkingen

CALCULUS 2. najaar Wieb Bosma (naar aantekeningen van Arno van den Essen) Radboud Universiteit Nijmegen

UNIVERSITEIT TWENTE Faculteit Elektrotechniek, Wiskunde en Informatica

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

Wiskundige Technieken 1 Uitwerkingen Hertentamen 23 december 2014

Functies. Huub de Beer. Eindhoven, 4 juni 2011

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Basiswiskunde, 2DL03, woensdag 1 oktober 2008, uur.

1. (a) Gegeven z = 2 2i, w = 1 i 3. Bereken z w. (b) Bepaal alle complexe getallen z die voldoen aan z 3 8i = 0.

Buiging van een belaste balk

Uitwerkingen analyse op de lijn tweede deel

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Wiskundige Technieken 1 Uitwerkingen Tentamen 3 november 2014

8. Differentiaal- en integraalrekening

ProefToelatingstoets Wiskunde B

Vectoranalyse voor TG

9 Meer over datatypen

Tentamen Numerieke Wiskunde dinsdag, 28 januari 2014,

3 De duale vectorruimte

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Wetenschappelijk Rekenen

168 HOOFDSTUK 5. REEKSONTWIKKELINGEN

== Hertentamen Analyse 1 == Dinsdag 25 maart 2008, u

34 HOOFDSTUK 1. EERSTE ORDE DIFFERENTIAALVERGELIJKINGEN

Uitwerking Tentamen Analyse B, 28 juni lim

Demo document template available on the Rapptorlab website

Instructies en blokken

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Toets 3 Calculus 1 voor MST, 4051CALC1Y dinsdag 31 oktober 2017, 13:30 16:30 uur

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Uitwerking Tentamen Calculus, 2DM10, maandag 22 januari 2007

Radboud Universiteit Nijmegen Tentamen Calculus 1 NWI-NP003B 4 januari 2013,

Tentamen Quantum Mechanica 2

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

In dit college bekijken we een aantal technieken om integralen te bepalen van trigonometrische functies en van rationale functies.

Opgaven Functies en Reeksen. E.P. van den Ban

Functies van één veranderlijke

UNIVERSITEIT TWENTE Faculteit Elektrotechniek, Wiskunde en Informatica

2. Een eerste kennismaking met Maxima

Tentamen Programmeren in C (EE1400)

TW2040: Complexe Functietheorie

Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer:

OF (vermits y = dy. dx ) P (x, y) dy + Q(x, y) dx = 0

EE1400: Programmeren in C BSc. EE, 1e jaar, , 2e college

Numerieke Analyse - Week 03

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Uitwerking van het tentamen Inleiding Signalen (2Y490) op 15 augustus 2003

Infi A oefententamen ψ

Aanwijzingen bij vraagstukken distributies

Mathematical Modelling

Snelle glijbanen. Masterclass VWO-leerlingen juni Emiel van Elderen en Joost de Groot NWD Faculteit EWI, Toegepaste Wiskunde

college 6: limieten en l Hôpital

Primitieve functie Als f : R --> R continu is op een interval, dan noemt men F : R --> R een primiteive functie of

Vergelijkingen oplossen met categorieën

Appendix: Zwaartepunten

6 Complexe getallen. 6.1 Definitie WIS6 1

Analyse I. 1ste Bachelor Ingenieurswetenschappen Academiejaar ste semester 12 januari 2010

Toegepaste Wiskunde. voor het hoger beroepsonderwijs. Correcties en aanvullingen (mei 2009) HBuitgevers, Baarn

20 OKTOBER y 2 xy 2 = 0. x y = x 2 ± 1 2. x2 + 8,

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Bijlage H: Random toekennen van gewichten en categoriekwantificaties

Examen G0O17D Wiskunde II (6sp) maandag 10 juni 2013, 8:30-12:30 uur

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

1E HUISWERKOPDRACHT CONTINUE WISKUNDE

Instructies en blokken

TW2040: Complexe Functietheorie

maplev 2010/7/12 14:02 page 157 #159 Taylor-ontwikkelingen

Integratietechnieken: substitutie en partiële integratie

Analyse 1 November 2011 Januari 2011 November 2010

Thomas-algoritme en preconditionering

Bestaat er dan toch een wortel uit 1?

Huiswerk Hints&Tips Analyse 2, College 26

Computerrekenpakket Maple zesde jaar

Toegepaste wiskunde. voor het hoger beroepsonderwijs. Deel 2 Derde, herziene druk. Uitwerking herhalingsopgaven hoofdstuk 6

1. Trapeziumregel en Rechthoekregel

IJkingstoets Wiskunde-Informatica-Fysica september 2018: algemene feedback

Tussentoets Analyse 2. Natuur- en sterrenkunde.

Paragraaf 8.1 : Eenheidscirkel

integreren is het omgekeerde van differentiëren

Inhoud college 5 Basiswiskunde Taylorpolynomen

UNIVERSITEIT TWENTE Faculteit Elektrotechniek, Wiskunde en Informatica

Proeftoets 3 Calculus 1 voor MST, 4051CALC1Y dinsdag 31 oktober (Leids) studentnummer: A (Keijzer) / B (Kooij) / C (Weber) / D (van den Dries)

Kerstvakantiecursus. wiskunde B. Voorbereidende opgaven VWO. Haakjes. Machten

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

UNIVERSITEIT TWENTE Faculteit Elektrotechniek, Wiskunde en Informatica

Paragraaf 7.1 : Eenheidscirkel en radiaal

4.1 Rekenen met wortels [1]

Aanvullingen van de Wiskunde / Partiële Differentiaalvergelijkingen

int main() { int m; m = power(2,3) /* berekent 2^3 en geeft de resultaat naar m terug */ }

Tentamen WISN101 Wiskundige Technieken 1 Ma 2 nov :30 16:30

Tentamen Functies en Reeksen

Tentamen Analyse 4 (wi2602) 17 juni 2011, uur. ) (1 gratis)) Deel 2: opgaven 2b, 4ab, 5, 6 (normering: 2 + (

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

3. Bepaal de convergentie-eigenschappen (absoluut convergent, voorwaardelijk convergent, divergent) van de volgende reeksen: n=1. ( 1) n (n + 1)x 2n.

2E HUISWERKOPDRACHT CONTINUE WISKUNDE

Small Sample Emission Computer Tomography. G.P. Leendertse. ECN-Energie Engineering

Uitwerking Tentamen Klassieke Mechanica I Dinsdag 10 juni 2003

Toets 3 Calculus 1 voor MST, 4501CALC1Y donderdag 20 oktober 2016; 13:30-15:30 uur

Transcriptie:

Opdrachten numerieke methoden, serie Opdracht : Probleemstelling mathematische slinger. [Leid het beginwaarde probleem af.] U 0 is de energie op positie P 0 en U p is de energie op positie P : v = l dφ U 0 = mgl cos α U p = mgl cos φ + mv = mgl cos φ + m ( l dφ ). Deze twee energieën zijn aan elkaar gelijk: U 0 = U p = ( ) dφ ml = mgl cos φ mgl cos α dφ = g (cos φ cos α). l. [Bereken t(φ).] Laat zien dat voor het tijdstip t(φ), waarop een gegeven uitwijking φ voor het eerst bereikt wor, gel l a t(φ) = dθ. g cos θ cos α De uitdrukking van (.) verder uitwerken: φ dφ = ± gl cos φ cos α l = ± g cos φ cos α l α t(φ) = dφ g cos φ cos α Opdracht : Numerieke intergratie. [Schrijf een functie voor het numeriek integreren] φ Schrijf een functie voor het numeriek integreren volgens een samengestelde kwadratuurformule van b f(x)dx bij gegeven continue functie f op een eindig interval [a, b]. a #define INTMETHOD TRAPEZIUM #define INTMETHOD MIDPUNT integrate trapezium( (*f) (), a, b, int n)

h = (b a) / n; res; /* Result */ i; res = (f(a) + f(b)) /.0; for (i = a + h; i < (b h/); i += h) 0 res += f(i); res *= h; return res; integrate midpunt( (*f) (), a, b, int n) h = (b a) / n; h = h /.; res = 0.; /* Result */ i; 0 for (i = a + h; i < b; i += h) res += f(i h); res *= h; return res; integrate( (*f) (), a, b, int n, char method) switch (method) case INTMETHOD TRAPEZIUM: 30 return integrate trapezium(f, a, b, n); case INTMETHOD MIDPUNT: return integrate midpunt(f, a, b, n); default: fprintf(stderr, "Onbekende integratiemethode: %d\n", method); exit(); 40. [Test de numerieke integratie] Test de numerieke integratie voor 0 x 4 + x 9 dx, met behulp van de trapeziumregel. Druk het rijtje van resultaten [T, T, T 4, T 8,..., T 8 ] af. De output van het programma is: T[00] = 0.5000000000000000 T[00] = -0.67968750000000 T[004] = -0.490776060788 T[008] = -0.57700304746678 T[06] = -0.59860353068607 T[03] = -0.59800488038 T[064] = -0.5995549479399 T[8] = -0.59988807558967 Opdracht 3: Richardson extrapolatie

3., 3. [Foutschatting, Richardson benadering] Schrijf een functie die voor een rijtje van getallen, [c 0, c,..., c n ], per trio c k+, c k+ en c k de exponent q van de kop-term van de fout schat: Druk per trio de invoergegevens c k+, c k+ en c k het getal ( ) ck+ c k+ q q k := log / log γ c k+ c k af, en retourneer de laatste schatting q n. Schrijf verder een functie die voor een rijtje van getallen, [c 0, c,..., c n ] en gegeven exponent q, pre duo c k+ en c k, de Richardson benadering c () k voor alle k = 0,,..., n retourneert. := hq k c k+ h q k+ c k h q k hq k+ exponent( *c, int n) if (n > ) return log((c[n] c[n ]) / (c[n ] c[n ])) / log(0.5); else /* fprintf(stderr, exponent: n<= ); exit(); */ return 0; 0 int richardson( *c, q, *r, int n) int i; t; if (n < ) return ; for (i = 0; i < (n ); i++) t = pow(0.5, q); if (t == 0) 0 return ; r[i] = (c[i+] pow(0.5, q) * c[i]) / t; return 0; Hierbij is gebruikt gemaakt van de volgende vereenvoudiging: Namelijk: h q k c k+ h q k+ c k h q k hq k+ h q k c k+ h q k+ c k h q k hq k+ h k = (b a)γ k = c k+ [ ] ck [ ] q. h q k = (b a) q y k+q h q k+ = (b a) q γ (k+)q = (b a)q γ kq c k (b a) q γ (k+)q c k (b a) q γ kq (b a) q γ (k+)q. Ingevuld kan worden: a = 0, b =, γ =. [ ] kq ck+ [ kq+q ] ck [ ] kq [ ] = ck+ [ kq+q [ ] q ] ck q 3

Opdracht 4: De numerieke berekening van t(φ). 4. [Vereenvoudiging integraal] Vereenvoudig de integraal De volgende substitutie wor uitgevoerd ( ) θ sin Hiermee wor dθ verkregen: F (φ) = α dθ, 0 < α < π. cos θ cos α φ ( α ) = sin dus: θ = arcsin dθ = sin(ξ) ( sin ( α ) sin(ξ) sin(/ α) cos(ξ)dξ (sin(/ α)) (sin(ξ)). ). Enige vereenvoudigingen: cos(θ) = (sin(/ θ)), cos(α) = (sin(/ α)) cos(θ) cos(α) = (sin(/ α)) (sin(/ θ)) cos(θ) cos(α) = (sin(/ α)) (sin(/ θ)) = (sin(/ α)) (sin(/ α)) (sin(ξ)) = sin(/ α) (sin(ξ)) = sin(/ α) cos(ξ). Dit levert uiteindelijk: F (φ) = π/ dξ. (sin(/ α)) (sin(ξ)) ψ Hierbij volgt uit sin ( ( t ) = sin ) sin(x), dat sin(x) = sin ( ) ( ( sin t ) ) sin ( ) s a, zodat x = arcsin sin ( ) a, s en voor t = a gel ξ = π ; voor t = φ gel ξ = ψ. 4. [Schrijf een integratieprogramma.] Schrijf een programma dat voor N =,, 4, 8, 6, 3, 64, 8 de volgende bij F (φ) behorende grootheden berekent en in een tabel afdrukt: N T N T N T N T N T N T 4N T N 4

Draai het programma voor φ = 5π, π 3, π 4, π 6, π, 0 en α = π. Draai het programma van opgave 3. om in te zien dat de laatste kolom inderdaad een onderdeel van de schatting van de exponent q is, nodig voor Richardson extrapolatie. #include <stdio.h> #include <math.h> #include "integrate.c" #include "richardson.c" /* Use globals, so the old integration functions can be used for f */ alpha; xi; #define phiaant 6 const phis[phiaant] = 5 * M PI /, M PI / 3, M PI / 4, M PI / 6, M PI /, 0; 0 f( xi) t; t = sin(alpha / ) * sin(xi); return / (sqrt( t * t)); 0 F( phi, alph, int n) alpha = alph; return integrate(f, asin(sin(phi / ) / sin(alpha / )), M PI /, n, INTMETHOD TRAPEZIUM); int main(int argc, char *argv[ ]) int i, j, N; 30 alpha = M PI / ; phi = 5 * M PI / ; T[3], q; printf(" N T[N] T[N] - T[N] " "(T[N]-T[N])/(T[4N]-T[N]) exponent q\n"); printf(" ----+------------------------+-----------------------+" "--------------------------+------------------------\n"); for (j = 0; j < phiaant; j++) phi = phis[j]; printf("\n"); 40 printf("phi=%6.6e\n", phi); /* * XXX Lazy method: most T s are computed three times. Blame * the fast computer. */ for (N =, i = 0; i < 8; i++) T[0] = F(phi, alpha, N); T[] = F(phi, alpha, * N); T[] = F(phi, alpha, 4 * N); q = exponent(t, ); 50 printf("% 3.3d % 6.6e % 6.6e % 6.6e % 6.6e\n", N, T[0], T[] T[0], (T[] T[0]) / (T[] T[]), q); N *= ; return 0; Dit programma geeft de volgende output: 5

N T[N] T[N] - T[N] (T[N]-T[N])/(T[4N]-T[N]) exponent q ----+------------------------+-----------------------+--------------------------+------------------------ phi=.308996938995747e+00 00 7.37756738607905e-0 8.03850388389e-03 4.083877098349974e+00.0993944989005e+00 00 7.800894490044e-0.9683555733684e-03 4.050684073408989e+00.00903305049757e+00 004 7.37784449477380e-0 4.890466954393e-04 4.006709669553e+00.0059760776407e+00 008 7.46746906380335e-0.064683778669e-04 4.0056748954887e+00.000565880444e+00 06 7.4389533747554e-0 3.050497639604e-05 4.0003975040608e+00.0004877687e+00 03 7.4400379677905e-0 7.6530833474845e-06 4.00009793746557e+00.0000353964860e+00 064 7.44766375453e-0.906803594538380e-06 4.00004483664856e+00.000008830588476e+00 8 7.4495695557798e-0 4.765677835790e-07 4.00000600485693e+00.00000657907907e+00 phi=.0479755965976e+00 00.008800838350e+00.47306683643506e-0 3.839496760e+00.93407085679353e+00 00.030837009936e+00 3.735347985808e-03 4.09907965905446e+00.0076478887757e+00 004.068838349858e+00 9.953978533480e-04 4.005503945886e+00.00983763435e+00 008.07747537470385e+00.39693089868733e-04 4.0039830539658e+00.00050445439763e+00 06.079795067785837e+00 5.797064439786e-05 4.00035094798356e+00.00065707809e+00 03.08037478840077e+00.449743979883e-05 4.00008789455050e+00.00003673853776e+00 064.08059705839457e+00 3.6856440774577e-06 4.0000959075449e+00.0000079004056e+00 8.080555934403859e+00 9.05709379054863e-07 4.000005499460765e+00.000009835096534e+00 phi=7.85398633974488e-0 00.4697650533708e+00.35659003986689e-0 3.05078580897e+00.5957439776838e+00 00.6054405783885e+00 4.49959334943048e-03 3.9965057690045e+00.99873959756457e+00 004.6504565063335e+00.5773763689798e-03 4.00664839788077e+00.0009608776943e+00 008.66673383397005e+00.8559435849689e-04 4.0007486479664e+00.0005779497344e+00 06.6644859483855e+00 7.030474344696e-05 4.00087530546e+00.000065557974e+00 03.6658895706089e+00.75745573805335e-05 4.0000456938733e+00.0000645707704e+00 064.6653647063607e+00 4.393589638066e-06 4.000040573968e+00.00000454887307e+00 8.6654086385346e+00.0983945768353e-06 4.000008559789e+00.00000098036406e+00 phi=5.3598775598988e-0 00.464870670648930e+00 4.533666775757e-03.09675045887373e+00.333489606849e-0 00.4694003956476e+00 4.36678984933e-03 3.930006066677359e+00.9687533397337e+00 004.473533659705459e+00.055877478786e-03 3.9994550597935e+00.999797886656e+00 008.47458953453864e+00.64005854098375e-04 3.999938994066e+00.999975795785003e+00 06.4748535373073846e+00 6.60057084588005e-05 3.9999877964973e+00.999995597748e+00 03.47499539878304e+00.65006930690466e-05 3.999997370860e+00.999999003465947e+00 064.47493604057995e+00 4.5766698703e-06 3.999999330396005e+00.999999758493876e+00 8.4749406574746e+00.0394084479e-06 3.99999984756856e+00.99999994509900e+00 phi=.6799387799494e-0 00.6779876886438e+00 -.34877435476490e-0-5.50680660568e+00 NaN 00.6645049489846e+00.450938966386e-03 3.5678303404356e+00.845633077437e+00 004.66695533608768e+00 6.9677756543853e-04 3.9960789970743478e+00.998585035409659e+00 008.6676585538446e+00.7435359538797e-04 3.99983076570e+00.9997643954300e+00 06.66786067363765e+00 4.359648775494e-05 3.999834873386e+00.999937034633800e+00 03.66786980985088e+00.08995705986097e-05 3.9999537570479040e+00.999983384744e+00 064.66788070555680e+00.749450099838e-06 3.9999884638695e+00.99999583997554e+00 8.66788347479830e+00 6.833003099648e-07 3.999997073045389e+00.9999989443765e+00 phi=0.0000000000000000e+00 00.89688979370398e+00-4.59766854076e-0 4.6565950704633e+0 5.5404497693e+00 00.8549593085690e+00-8.8390338393e-04.605737490760676e+03.06490034348898e+0 004.85407577673078e+00-5.5046564935334e-07.8688504898669e+06.08330397549359e+0 008.854074677306665e+00 -.94653907355655e-3 -Inf Inf 06.85407467730379e+00 0.0000000000000000e+00 NaN NaN 03.85407467730379e+00 0.0000000000000000e+00 0.0000000000000000e+00 -Inf 064.85407467730379e+00.030465565e-5-4.5454545454545453e-0 NaN 8.854074677303730e+00 -.44490654753444e-5 -.0000000000000000e+00 NaN Aan de laatste twee kolommen is goed te zien, dat er een correlatie is tussen (T N T N )/(T 4N T N ) en q. 4.3 [Bereken de Richardson extrapolanten.] Neem φ = 5π. Voor het rijtje [c 0, c,..., c 7 ] = [T, T,..., T 8 ] en de uit de bovenstaande opgave benaderde gehele exponent q, bereken het rijtje van Richardson extrapolanten c () k, k = 0,..., 6, met behulp van het programma richardson in 3.. Druk het rijtje extrapolanten af. #include <stdio.h> 6

#include <math.h> #include "integrate.c" #include "richardson.c" alpha; f( xi) t = sin(alpha/)*sin(xi); 0 return /(sqrt( t*t)); F( phi, alph,int n) alpha=alph; return integrate(f, asin(sin(phi/)/sin(alpha/)),m PI/,n,INTMETHOD TRAPEZIUM); int 0 main(int argc,char *argv[ ]) alpha=m PI/; phi=5*m PI/; q=.0; T[8],r[7]; int i,j; for (i=,j=0;j<8;j++,i*=) T[j]=F(phi,alpha,i); 30 if (richardson(t,q,r,8)!=0) return ; for (j=0;j<7;j++) printf(" r[%.d] = % 6.6f\n",j,r[j]); return 0; Dit programma geeft als output: r[0] = 0.7448959677743 r[] = 0.74434563454598 r[] = 0.7443047706799 r[3] = 0.74430975490 r[4] = 0.74430060405338 r[5] = 0.74430050447904 r[6] = 0.7443004985585 4.4 [Nog een keer Richardson] Als exponent wor losgelaten op bovenstaand rijtje van richardson-extrapolanten van T, wor duidelijk dat q nadert tot 4. Hiermee wor Richardson nog een keer toegepast. Dit lei tot de volgende resultaten: r[0] = 0.74430894566864 r[] = 0.744300467987 r[] = 0.74430049669348 r[3] = 0.744300497808 r[4] = 0.74430049784075 r[5] = 0.74430049784097 7

4.5 [Bespreek de numerieke resultaten] We zien in 4. dat hoe dichter φ bij nul komt, hoe meer afwijkingen exponent q vertoont, vooral op φ = 0. Daar wor de 4 e kolom bijv. negatief en de logaritme van een negatief getal geeft problemen. De Richardson benadering is nuttig en levert een nauwkeuriger resultaat. De toepassing van opnieuw Richardson levert nog een nauwkeuriger resultaat (4 cijfers ipv 8). Willem van Engen (wvengen@stack.nl) and Hjalmar Mulders (H.C.J.Mulders@student.tue.nl) Homepage: http://willem.n3.net 8