FÖRSÄTTSBLAD TILL TENTAMEN Din tentamenskod (6 siffror): ELLER (fyll bara i om du saknar tentamenskod): Personnummer: - Datum: 16 januari 2013 Kursens namn (inkl. grupp): Beräkningsvetenskap I (1TD393) Termin då du först registrerades på kursen 1 : Utbildningsprogram (eller liknande): Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter. Detta blad skall ifyllas även om ingen uppgift behandlats. Använd INTE penna med röd färg. Uppgift Löst (kryssa) Mål 1-4 Lärarens bedömning 1 3, 3 2 3 3 3 4 3 3 5 3, 3 6 4 7 4/5 Betyg: 1 Tentamen rättas INTE om det saknas registrering på kursen.
Tentamen i Beräkningsvetenskap I (1TD393) Skrivtid: 16 januari 2013 kl 14 00 17 00 OBS! 3 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 3 krävs att varje mål ska ha minst en markering med betyg 3, och att något mål ska ha minst två 3-markeringar. Kortfattade kursmål: 1 Nyckelbegrepp Visa förtrogenhet med nyckelbegrepp som ingår i kursen. 2 Algoritmer Visa förtrogenhet med de algoritmer som ingår i kursen. 3 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 1: Begrepp Max målbetyg: 3, 3 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 2 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å. 1a 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. 1b i) Kvadratisk konvergens innebär att felet i varje iteration minskar med faktor 1/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.
Uppgift 2: LU-uppdelning Max målbetyg: 3 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 = 3 1 2 6 3 4 3 1 5 Ange P, L och U. Uppgift 3: Ickelinjär ekvation Max målbetyg: 3 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 3 2 1 0 1 2 1 0.5 0 0.5 1 1.5 2 2.5 3 Utgåe från figuren, ange ett eventuellt problem som kan uppstå när man ska lösa problemet med Newton-Raphsons metod. Uppgift 4: 4a Integration En funktion y är given för enstaka punkter enligt Max målbetyg: 3 3 Beräkna en approximation till ska användas. x 0 0.2 0.4 0.6 0.8 y(x) 0.10000 0.66800 0.82200 0.45900-0.13000 0.8 0 y(x) dx med Simpsons metod. Samtliga funktionsvärden 4b Antag att man kan uppskatta felet i beräkningen ovan till 0.002. Ange med motivering ungefär hur stort skulle felet bli om man ökar antalet mätvärden så att steglängden halveras.
Uppgift 5: Programmering Max målbetyg: 3, 3 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(1); z=array(2); if (y<z) temp=y; y=z; z=temp; for i=3: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=[3 1 9 8]; >> y=func(v) 5b Skriv nedanståe matematiska funktion p(f) = 4 log 10 (Re f) 0.4 1 f som en Matlabfunktion med funktionsnamnet vonkarmann. Variabeln Re kan du för enkelhets skull sätta till 10 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.)
Uppgift 6: Uppgift 7: 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 = 1..., 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. 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.