Tentamen i Beräkningsvetenskap I (1TD393)

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

Tentamen i: Beräkningsvetenskap I och KF

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

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

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

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Tentamen i: Beräkningsvetenskap I och KF

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

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

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Sammanfattninga av kursens block inför tentan

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

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

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

LABORATION cos (3x 2 ) dx I =

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

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

Matematik: Beräkningsmatematik (91-97,5 hp)

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Omtentamen i DV & TDV

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

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

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

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

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Varning!!! Varning!!!

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 17 januari 2013

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Lösningar tentamen i kurs 2D1210,

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

2 Matrisfaktorisering och lösning till ekvationssystem

Block 2: Lineära system

Laboration 3. Funktioner, vektorer, integraler och felskattning

Icke-linjära ekvationer

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

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

Introduktionsföreläsning

Laboration 3. Funktioner, vektorer, integraler och felskattning

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

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Ordinära differentialekvationer,

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

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

Sammanfattning (Nummedelen)

Tentamen: Numerisk Analys MMG410, GU

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Standardform för randvärdesproblem

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

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

TAIU07 Matematiska beräkningar med Matlab

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Icke-linjära ekvationer

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

Omtentamen i DV & TDV

Introduktionsföreläsning. Outline. Beräkningsvetenskap I. Sara Zahedi Hanna Holmgren. Institutionen för Informationsteknologi, Uppsala Universitet

Ickelinjära ekvationer

TMA226 datorlaboration

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

Kort sammanfattning av Beräkningsvetenskap I. Varning!!! Varning!!!

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

Introduktionsföreläsning. Kursens innehåll. Kursens upplägg/struktur. Beräkningsvetenskap I

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

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

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

Introduktionsföreläsning

Linjära ekvationssystem

Ordinära differentialekvationer,

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

Linjära ekvationssystem

TMA 671 Linjär Algebra och Numerisk Analys. x x2 2 1.

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

Lösningsförslag till tentamensskrivningen i Numerisk analys

För teknologer inskrivna H06 eller tidigare. Skriv GAMMAL på omslaget till din anomyna tentamen så att jag kan sortera ut de gamla teknologerna.

TANA17 Matematiska beräkningar med Matlab

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

FÖRSÄTTSBLAD TILL TENTAMEN

MMA132: Laboration 2 Matriser i MATLAB

Transkript:

Tentamen i Beräkningsvetenskap I (TD9) Skrivtid: 6 januari kl 4 7 OBS! timmar! Hjälpmedel: Godkänd litteratur: Mathematics handbook, Physics handbook. Penna, suddgummi, miniräknare och linjal får användas. Formler finns i bifogad formelsamling. Övrigt: Uppgifterna måste vara välskrivna, med alla ingåe tankesteg redovisade. Observera att tentamen rättas baserat på kursmål. För betyg krävs att varje mål ska ha minst en markering med betyg, och att något mål ska ha minst två -markeringar. Kortfattade kursmål: Nyckelbegrepp Visa förtrogenhet med nyckelbegrepp som ingår i kursen. Algoritmer Visa förtrogenhet med de algoritmer som ingår i kursen. Analys Visa förtrogenhet med de analysförfaranden som ingår i kursen. 4 Programmering Visa elementär förtrogenhet med programmering (mer avancerad programmering görs i grupp och framför dator). Uppgift : Begrepp Max målbetyg:, I kursen ingår ett antal nyckelbegrepp inom beräkningsvetenskap som du förväntas behärska. Din uppgift här blir att bestämma om följande påståen gällande nyckelbegreppen (markerade kursivt) är sanna eller falska. Kort motivering krävs. För godkänt på respektive deluppgift krävs minst rätta svar per deluppgift, där kort motivering eller exemplifiering som visar på varför påstået är sant eller falskt måste ingå. a i) En matris konditionstal kan förbättras genom att man gör pivotering i LUfaktoriseringen. ii) Kancellation vid flyttalsberäkningar gör att det relativa felet i resultatet kan bli stort. iii) Högre noggrannhetsordning på en metod innebär att den kräver mindre antal beräkningar än en lägre ordningens metod för att uppnå samma kvalitet på lösningen. i) Falskt. Konditionstalet är givet av matrisen, och hur man gausseliminerar påverkar inte hur matrisen ser ut ii) Sant. Kancellation uppstår då nästan lika stora tal subtraheras, man förlorar då noggrannhet. iii) Sant. Exempelvis ger Simpsons metod högre noggrannhet för ett givet antal beräkningspunkter, i jämförelse med Trapetsmetoden b i) Kvadratisk konvergens innebär att felet i varje iteration minskar med faktor /4. ii) Diskretiseringsfel uppkommer då man ersätter ett kontinuerligt intervall i ett ändligt antal punkter och utför beräkningar ast i dessa punkter. iii) Maskinepsilon är det minsta tal som går att representera i en dator. i) Falskt. Det innebär att felet blir kvadraten av felet i föregåe iteration ii) Sant. iii) Falskt. Det är det minsta tal så att fl( + ɛ M ) >. Det går däremot att lagra betydligt mindre tal.

Uppgift : LU-uppdelning Max målbetyg: När man löser ett linjärt ekvationssystem Ax = b är det första steget LU-uppdelning. Visa att du behärskar algoritmen för LU-uppdelning med pivotering genom att faktorisera matrisen A enligt P A = LU där A = 5 Ange P, L och U. A och p nedan är datastrukturer där multiplikatorerna l ij lagras i nollpositionerna i matrisen (dvs delar av L och U lagras i samma datastruktur). Dessutom lagras radbytesinformationen i en vektor p. A 5 5 p Ovanståe ska tolkas som L = Radbyte l =, l = l = U = P = Uppgift : Ickelinjär ekvation Max målbetyg: Antag att du söker roten till en icke-linjär ekvationen f(x) och du har tillgång till en lösare som använder Newton-Raphsons metod. För att få förståelse för problemet plottar du först funktionen, vilket ger följande resultat: 6 5 4.5.5.5.5

Utgåe från figuren, ange ett eventuellt problem som kan uppstå när man ska lösa problemet med Newton-Raphsons metod. Det tydligaste problemet är om man väljer startgissning så att man resultatet någon gång under iterationerna blir f (x k ) = eller nära noll. t ex kring x =.9 eller x =.. Resultatet kan då bli Inf eller -Inf. Man kan också tänka sig att man vid ett värde på x k kring, kan hamna i en cykel där resultatet bara studsar mellan två värden och aldrig konvergerar (man kan se detta om man skissar i figuren). För betyg på uppgiften krävs enbart att ett problem tas upp. Uppgift 4: 4a Integration En funktion y är given för enstaka punkter enligt Max målbetyg: Beräkna en approximation till x..4.6.8 y(x)..668.8.459 -..8 y(x) dx med Simpsons metod. Samtliga funktionsvärden ska användas. S(h =.) =. (. + 4.668 +.8 + 4.459.).48. 4b Antag att man kan uppskatta felet i beräkningen ovan till.. Ange med motivering ungefär hur stort skulle felet bli om man ökar antalet mätvärden så att steglängden halveras. Det blir ungefär./6 =.5 4. Motivering: Simpsons metod har noggrannhetsordning 4, dvs O ( h 4). En halvering av steglängd ger O ( ( h )4) = O ( h 4), dvs att noggrannheten ökar med en faktor 6. 4 Uppgift 5: Programmering Max målbetyg:, 5a Som nyanställd på företaget Beräkningsdata AB har du fått ta över lite Matlabkoder från en examensarbetare. Tyvärr har studenten inte använt ändamålsenliga variabelnamn och inte heller kommenterat eller dokumenterat koden. Din första uppgift blir att ta reda på vad koden gör genom att läsa den. function x = func(array) y=array(); z=array(); if (y<z) temp=y; y=z; z=temp; for i=:length(array) if (array(i)>y) z=y; y=array(i); elseif (array(i)>z) z=array(i); x=z; Vad gör funktionen och vad blir resultatet om man anropar funktionen med vektorn v enligt:

>> v=[ 9 8]; >> y=func(v) y = array() =, z = array() = if y<z, dvs < falskt => går ej in i if-satsen for i = :length(array) => for i=:4 i = if array()>y => 9 > sant z = y = y = array() = 9 i = 4 if array(4) > y => 8 > 9 falskt elseif array(4) > z => 8 > sant z = array(4) = 8 x = z = 8 Resultatet av anropet blir y = 8. 5b Skriv nedanståe matematiska funktion p(f) = 4 log (Re f).4 f som en Matlabfunktion med funktionsnamnet vonkarmann. Variabeln Re kan du för enkelhets skull sätta till 4. Matlabfunktionen ska skrivas som om den lagrades i en egen m-fil (där filen får namnet vonkarman.m). (Funktionen ovan kallas von Karmans ekvation och är hämtad från en av kursens miniprojekt.) Kan förslagsvis se ut så här: function pf= vonkarmann(f) Re = ^4; pf = 4*log(Re * sqrt(f) -.4 - /sqrt(f); Det väsentliga här är att syntaxen när det gäller funktioner är rätt (in- och utparametrar, funktionsnamn på rätt plats etc). Däremot underkänns man inte för fel i Matlabsyntax i formeluttrycket, exempelvis om man skriver log istället för log eller f istället för sqrt(f). Uppgift 6: Lösning av ekvationssystem Max målbetyg: 4 I ett reglertekniskt system ska ekvationssystem lösas, där man har en n n-matris A och högerleden b k, k =..., m. Varje högerled innehåller insignaler, och bara ett högerled finns tillgängligt åt gången. För varje sådan vektor med insignaler ska alltså x k beräknas ur Ax k = b k. Detta x k används sedan för att styra reglersystemet. Din uppgift är att beskriva hur detta kan göras på ett effektivt sätt genom att ge en övergripande algoritm för problemet. Dessutom ska du utgåe från din algoritm, analysera ungefärligt antal operationer i beräkningen. Du behöver inte beskriva alla eventuella delalgoritmer, utan det är den övergipande algoritmen som är intressant. För att hämta ett högerled kan du tänka dig att det finns en färdig funktion getb() tillgänglig, dvs anropet b = getb() hämtar ett högerled. För betyg 4 krävs både algoritm och att du visat antalet operationer i beräkningen.

Den här uppgiften innehåller en beräkning av m st linjära ekvationssystem med olika högerled och samma matris, dvs Ax i = b i, i =,..., m. För att göra detta effektivt bör matrisen först LU-faktoriseras en gång och sedan utförs framåt- och bakåtsubstitution m gånger med olika högerled. Observera att exakt detta ingår i miniprojekt i linjära system i kursen. Algoritm, här skriven i form av Matlabkod: Givet: m (antal högerled), A [L, U, P] = lu(a) for i = :m bi = getb(); y = L\(P*bi); x = U\y; % LU-faktorisering av A % Hämta högerled % Framåtsubstitution % Bakåtsubstitution Antalet operationer blir: Vi har en LU-faktorisering n operationer. Sedan utförs m st framåt- och bakåtsubstitutioner m n operationer. Totalt blir det n + mn operationer. Algoritmen behöver inte beskrivas i form av matlabkod, utan kan beskrivas på annat sätt. Det måste dock beskrivas som en algoritm och det måste tydligt framgå att LUfaktorisering görs en gång, och att det är fråga om framåt- och bakåtsubstitution m gånger etc. I operationsberäkningen räcker det även om man räknar antalet operationer vid LU-faktorisering som ca n eller O ( n ) och framåt- och bakåtsubstitution på motsvarande sätt som O ( n ). För betyg 4 krävs det både algoritm och att antalet operationer anges. Enbart algoritm ger betyg. Uppgift 7: Kvadraturformel Max målbetyg: 4/5 På ett företag som du arbetar på ingår beräkning av integraler i arbetsuppgifterna. Problemet är att beräkningarna ibland kräver extremt hög noggrannhet och du skulle därför vilja testa att använda en beräkningsmetod med väldigt hög noggrannhetsordning. Du har tillgång till en Matlab-funktion där du kan läsa följande i hjälptexten % Q = QUADRATURE4(fun, a, b, n) % Numerisk beräkning av integral med Gauss-Legre kvadratur. % % Q = QUADRATURE4(fun, a, b, n) uppskattar en integral I med hjälp av % Gauss-Legre kvadratur, för vilken % I = QUADRATURE4(fun, a, b, n) + C*h^4 + O(h^6) % för någon konstant C. % % Funktionsparametrar: % fun -- ett handtag till en Matlabfunktion som motsvarar integranden. % a, b -- bestämmer integrationsintervallet [A, B] % n -- antalet delintervall Du och dina kollegor tolkar hjälptexten som att funktionen uppskattar en integral med hjälp av en så kallad Gauss Legre kvadraturformel Q 4 (h), så att b a f(x)dx = Q 4 (h) + Ch 4 + O(h 6 ) där C är en konstant. Med utgångspunkt från quadratur4 (dvs Q 4 (h)), beskriv hur skulle man kunna konstruera en metod med högre noggrannhetsordning. Implementera metoden som en Matlab-funktion med funktionshuvudet

function Q = quadraturex(func, a, b, n) där parametrarna har motsvarande betydelse som för quadrature4. Dessutom, vilken noggrannhetsordning får den nya metoden? Ange detta och hur du resonerar. Du behöver inte strikt härleda detta, men däremot förklara hur man kan resonera. Algoritm: Kom fram till formeln Q x (h) = Q 4 (h) + Q4(h) Q4(h) 5 som en beräkning av högre noggrannhetsordning. Formeln behöver inte härledas utan kan tas från formelbladet. Programmering: Skriv quadraturex-funktionen t ex enligt: function Q = quadraturex(func, a, b, n) if (mod(n,)) error( Incorrect input, n must be divisible with. ) Qh = quadrature4(func, a, b, n); Qh = quadrature4(func, a, b, n/); Q = Qh + (Qh - Qh) / 5; Analys: Enligt uppgiften gäller att b a f(x)dx = Q 4 (h) + Ch 4 + O(h 6 ) vilket innebär att den ledande termen i diskretiseringsfelet för metoden Q 4 (h) är Ch 4 eller O(h 4 ). Richardsonextrapolationen Q4(h) Q4(h) 5 är en uppskattning av den feltermen. Genom uttrycket Q 4 (h) + Q4(h) Q4(h) 5 får man en metod där den feltermen är eliminerad och kvar blir högre ordningens termer, dvs O(h 6 ). Man kan alltså dra slutsatsen att den nya metoden bör vara av noggrannhetsordning 6. För betyg 5 måste algoritmidén och koden finnas med. Dessutom måste ett försök till analys av noggrannhetsordning finnas med, även om det inte behöver vara fullständigt korrekt. Betyg ges även för en korrekt analys av noggrannhetsordning och att algoritmidén är korrekt, och där funktionen inte är fullständig. Om analys helt är utelämnat ges betyget 4.