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

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

Sammanfattninga av kursens block inför tentan

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

Tentamen i: Beräkningsvetenskap I och KF

Tentamen i Beräkningsvetenskap I (1TD393)

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

Icke-linjära ekvationer

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

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i: Beräkningsvetenskap I och KF

Ickelinjära ekvationer

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

LABORATION cos (3x 2 ) dx I =

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

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

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

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

Facit Tentamen i Beräkningsvetenskap I (1TD393 - nya versionen, 5hp!)

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Icke-linjära ekvationer

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Facit Tentamen i Beräkningsvetenskap I, STS ES W K1

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

Facit Tentamen i Beräkningsvetenskap I, STS ES W K1

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

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

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

Varning!!! Varning!!!

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Gruppuppgifter 1 MMA132, Numeriska metoder, distans

Tentamen i Beräkningsvetenskap II, 5.0 hp,

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

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

Kontrollskrivning KS1T

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Konvergens för iterativa metoder

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Sammanfattning (Nummedelen)

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

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

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

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

Linjärisering och Newtons metod

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

MMA132: Laboration 2 Matriser i MATLAB

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

Kapitel 4. Iterativ lösning av ekvationer

7 november 2014 Sida 1 / 21

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

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

Labb 3: Ekvationslösning med Matlab (v2)

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

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

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Lösningar tentamen i kurs 2D1210,

Omtentamen i DV & TDV

Intervallhalveringsmetoden, GKN sid 73. Sekantmetoden, GKN sid 79

Datoraritmetik. Från labben. Från labben. Några exempel

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

SF1625 Envariabelanalys Lösningsförslag till tentamen

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

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

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

Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper

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

1.6 Lösningar till kapitel 8

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

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.

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

--x T Kx. Ka = f. K( a a i. = f f i. r i. = a a i. Ke i. a i 1. p i. Ka i. p i Kai α i

Laboration 3. Funktioner, vektorer, integraler och felskattning

Transkript:

Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Lösningsförslag Tentamen i Beräkningsvetenskap I, 5. hp, 14-6-4 Kursmål (förkortade), hur de täcks i uppgifterna och maximalt betyg Fråga nr Nyckelbegrepp Algoritmer Analys Programmering 1 3, 3 3 3 3 3 4 3, 3 5 3 6 4, 5 7 4, 5 Del A 1. (a) i. Sant. REALMIN är det minsta normaliserade flyttalet men det finns mindre tal som kan representeras. Dessa tal är subnormala och har lägre precision. ii. Falskt, konditionstalet bör vara så lågt som möjligt. Konditionstalet är en indikator på hur störningskänsligt ekvationssystemet är. Stort konditionstal medför hög störningskänslighet. iii. Falskt, felet avtar linjärt asymptotiskt och bisektsmetoden har då konvergenshastigheten 1. iv. Sant, diskretiseringsfelet är det matematiska felet och beror ej av flyttalssystemet och maskinepsilon. v. Falskt, normen av residualen blir ett mått på hur bra x uppfyller ekvationssystemet och beräknas A x b där x är vår approximativa lösning. Störningskänsligheten anges av konditionstalet. (b) Vid subtraktion av jämnstora tal i flyttalsaritmetiken tar de mest signifikanta siffrorna ut varandra och ersätts av osignifikanta (felaktiga) siffror. Detta kan då ge ett stort relativt fel i resultatet.. Pivotera högerledet: 1 Pb = 1

Framåtsubstitution: d = L\Pb d 1 = 1 d =.3333 d 3 = 1.3333 Bakåtsubstitution: 3. (a) I = x = U\d x 3 = 1.1818 x =.4545 x 1 = 1. 1 e x dx med trapetsformeln: h = 1 ( ) I = h e +e 1 = 1 (1+e 1 ).68394 h 1 = 1 ( ) ) I 1 = h 1 e +e (1 ) +e 1 = (1+e 1 14 +e 1.73137 4 R 1 = I 1 I 3.1581 > 1 h = 1 4 ) I = (1+e 1 1 16 +e 1 4 +e 9 16 +e 1.7498 8 R = I I 1 3.387 < 1 Svar: 1 e x dx.7498. (b) Trapetsformeln är av andra ordningen felet Ch. Vid h = h är felet 1 6. Vid h = h är felet.4. Det vill säga C(h ) 1 6 och Ch.4.

Dividera: (h ) 1 6 h 4 1 3, h = 1. 4 )3 1 3 (h ) ( 1 4 h 4 1 3 Svar: För ett fel 1 6 krävs steglängden 4 1 3, vilket innebär 5 steg. 4. (a) Funktion som definierar integranden, filnamn integrand.m: function f = integrand(x, sigma) f = exp(-x.^/sigma); Beräkning av integralen med hjälp av integral: >> S=integral(@(x)integrand(x,.5),-1,1); (b) Exempel på torrexekvering: % In-parametrar till funktionen f = @(x) x^3+5*x*x a = -3 b = 5 n = % Funktionen börjar här h = (5-(-3))/(*) = 8/4 = x = -3::5 = [-3,-1,1,3,5] sum = f(x(1)) : x(1) = -3 => f(-3) = -7 + 5*9 = 18 => sum = 18 % for i = ::length(x)-1 => for i = ::4 i = sum = sum + 4*f(x()) : x() = -1 => f(-1) = -1 + 5 = 4 => sum = 18+4*4 = 34 i = 4 sum = sum + 4*f(x(4)) : x(4) = 3 => f(3) = 7 + 5*9 = 7 => sum = 34+4*7 = 3 % slut for-loop eftersom nästa i = 6 > 4 % for i = 3::length(x)- => for i = 3::3 i = 3 sum = sum + *f(x(3)) : x(3) = 1 => f(1) = 1 + 5 = 6 => sum = 3+*6 = 334 % slut for-loop eftersom nästa i = 5 > 3 3

sum = sum + f(x(end)) : x(end) = x(5) = 5 => f(5) = 15 + 5*5 = 5 => sum = 334+5 = 584 I = (h/3)*sum = (/3)*584 = 389.3 5. För att hitta en lösning till x+e x = 3 formulerar vi först om problemet till att hitta ett nollställe till f(x) = x+e x 3. (Man kan även välja f(x) = 3 x e x, men här väljer vi det första alternativet.) Newton-Raphsons metod är x k+1 = x k f(x k) f (x k ), där vi i det här fallet har f(x) = x+e x 3 och f (x) = 1+e x. Felet e k i iteration k uppskattas med e k x k+1 x k = f(x k ) f (x k ). Från uppgiften får vi att vi efter tre iterationer har approximationen x 3 =.8, och då kan vi uppskatta felet till e 3 f(.8) f (.8) 3.55 3.55.79. Frågan är nu hur många iterationer som krävs för att felets storlek ska vara mindre än 1 8. Då måste vi komma ihåg att Newton-Raphsons metod har kvadratisk konvergens, vilket betyder att e k+1 e k. Frågan är alltså hur många gånger felet e 3 =.79 ska kvadreras för att bli mindre än 1 8. Man kan ställa upp en ekvation för detta:.79 k = 1 8 log(.79 k ) = log(1 8 ) klog(.79) = log(1 8 ) k = log(1 8 ) log(.79) k 1.96, 4

Del B så antalet iterationer måste vara större än 1.96, vilket betyder att man behöver iterationer. Det går även bra att testa sig fram: e 3.79 e 4.79 6.41 1 5 e 5 (6.41 1 5 ) 3.895 1 9 och då ser vi att e 5 < 1 8, så att den 5:e iterationen bör vara tillräckligt nära, och svaret blir att det räcker med ytterligare iterationer. 6. Givet intervallet [ a b ] approximera f(x) med en rät linje p(x), enligt figur. p(x) = f(a)+ f(b) f(a) (x a) b a Lös därefter ekvationen p( x) =. = f(a)+ f(b) f(a) ( x a) x = af(b) bf(a) b a f(b) f(a) 1.5 1.5 a p(x) c b.5 f(x) 1 1.5..4.6.8 1 1. x Vilket ger punkten c = x. Det nya intervallet väljs nu utifrån c och det gamla intervallets gränser så att den exakta lösningen omfattas (i det här fallet blir det nya intervallet [ c b ]). Därefter upprepas algoritmen tills felmarginalen är tillräckligt liten. Det enda vi vet är att lösningen omfattas av intervallet och då kan felet som högst vara lika med intervallängden. Algoritmen blir: 5

function r = nymetod( f, a, b, tol) % Felet kan högst vara lika med intervallets längd % Iterera tills feltoleransen har uppnåtts while (b-a)>tol % Hitta approximativ lösning c = (a*f(b) - b*f(a))/(f(b) - f(a)); % Välj nytt intervall if ( f(c) == ) r = c; return; % Vi har hittat lösningen, avbryt elseif ( f(c)*f(a) < ) b = c; else a = c; end end r=c; 7. Vi kan formulera om problemet till att hitta ett nollställe till funktionen f(x) = e x +x 1 e (xy) dy. De metoder för att hitta nollställen som ingår i kursen är Newton-Raphsons metod och bisektionsmetoden. Eftersom Newton-Raphsons metod behöver derivatan är bisektionsmetoden ett lämpligt val i det här fallet. I Matlab kan vi implementera f(x) i en funktionsfil och använda oss av fzero. Eftersom f(x) innehåller en integral, så vi måste först lösa problemet att beräkna integralen I(x) = 1 e (xy) dy. I kursen ingår trapetsformeln och Simpsons formel för beräkning av integraler. För att kunna beräkna integralen i Matlab implementerar vi först integranden e (xy) i en funktionsfil: function i = integrand(y, x) i = exp(-(x.*y).^); Funktionen tar både variabeln y som vi integrerar över, och en extraparameter x. Vi kan nu använda integral för att givet ett visst x beräkna integralen: 6

>> I = integral(@(y) integrand(y, x),, 1) Sedan skriver vi en funktionsfil för funktionen f(x) som vi vill hitta nollställe till: function fx = f(x) fx = exp(x) + x * integral(@(y) integrand(y, x),, 1); och slutligen anropar vifzero så här, där vi utifrån grafen valt startgissning x =.5: >> x = fzero(@f,.5) ans = -.611 Man kan även genom att använda namnlösa funktioner uttrycka allt detta på en enda rad: >> fzero(@(x) exp(x)+x*integral(@(y) exp(-(x.*y).^),, 1),.5) ans = -.611 För högsta betyg ska man även resonera om vilka fel som ingår. Det viktiga är att vi har ett diskretiseringsfel vid beräkning av integralen som kommer in som ett funktionsfel när vi söker efter ett nollställe. Vi kommer alltså söka efter ett nollställe till en funktion f(x) i stället för f(x). Vi kan uppskatta funktionsfelet f(x) f(x) utifrån diskretiseringsfelet från integralberäkningen. Om vi beräknar integralen med trapetsformeln kan vi använda tredjedelsregeln för att uppskatta diskretiseringsfelet, och använder vi Simpsons formel kan vi använda femtondelsregeln. Utifrån det kan vi ta två funktioner som tar det största och minsta möjliga felet: f max (x) = f(x)+fel f min (x) = f(x) fel Nollstället till f(x) ligger då någonstans mellan nollställena till f max (x) och f min (x). För att hitta dessa nollställen använder vi till exempel bisektionsmetoden. Den hittar inte ett exakt nollställe utan ger ett intervall där roten finns. Vi får då var sitt intervall 7

för nollställena till de två funktionerna. Om f min (x) har ett nollställe i intervallet [a min,b min ], och f max (x) har ett i [a max,b max ] kan vi som slutgiltig uppskattning av nollstället x ta intervallet från den lägsta av de undre gränserna till den högsta av de övre gränserna: x [a,b], a = min(a min,a max ), b = max(b min,b max )]. x * a max b max a min b min f max (x) f(x) f min (x) a b.8.6.4 Det kommer också uppstå avrundningsfel då alla tal inte kan representeras exakt i flyttalssystemet, men dessa är obetydliga jämfört med de andra felen. Om ekvationen kommer från någon modell av verkligheten har vi även ett modelleringsfel, eftersom den inte beskriver verkligheten exakt. I uppgiften anges inget om var ekvationen kommer ifrån, så vi kan inte resonera om vilka modelleringsfelen skulle kunna vara. 8