Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap I, DV, 5.0 hp, 2011-03-08 OBS: Kurskod 1TD394 Skrivtid: 08 00 11 00 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat formelblad och miniräknare, Math. Handbook. För fullt uppfyllda mål och kriterier på uppgifterna krävs fullständiga räkningar och utförliga resonemang samt motivering till alla svar. Kursmål (förkortade), hur de täcks i uppgifterna och maximalt betyg Fråga nr Nyckelbegrepp Algoritmer Analys Programmering 1 3 3 2 3 3 3 3 4 3 3 5 3, a) resp. b) 6 4 7 5 5 8 5 5 5 5 Del A 1. Vid lösning av linjära ekvationssystem Ü = är standardmetoden baserad på LU-faktorisering med pivotering. (a) Hört i korridorerna: i. Det där med pivotering gör man för att konditionstalet ska bli bättre. ii. Pivotering det gör man för att noggrannheten ska bli bättre. Är ovanstående sant eller falskt? Kort motivering av dina svar krävs. (b) Vad kan man säga om noggrannheten i lösningen Ü om ÓÒ() = 10 3 och i. högerledet beräknas av Matlab via funktionsberäkningar, så att det enbart är fel orsakade av flyttalsrepresentationen? ii. högerledet består av mätdata med 1% fel? 1
2. En och endast en av följande matriser är övergångsmatrisen för en Markovprocess. Vilken av dem? = ¼ 025 034 041 030 057 011 045 009 043 ½ ¼ = 022 029 033 030 053 022 048 018 045 En och endast en av följande vektorer beskriver ett jämviktstillstånd för den av matriserna ovan som var en Markovmatris. Vilken? Obs. vektorernas element är avrundade till 4 decimaler. ½ Ú = ¼ 02846 03518 03635 ½ Û = ¼ 02455 03811 03734 3. Mängden vatten i Fyrisån som passerar en viss plats, (dvs. ett visst tvärsnitt av ån), kan beräknas med integralen (60 60 24) ØÒ Ø 1 Ú(Ø) Û (Ø)Ø där Ú(Ø) är hastigheten vid tiden Ø, Û är bredden på ån och (Ø) är vattennivån (höjden) vid tiden Ø. Om vi mäter höjd och bredd i meter blir resultatet i enheten Ñ 3 /dygn. Man har mätt upp hastighet och höjd några dagar i följd och fått följande värden: Ø 1 2 3 4 5 (Ø) (m) 2.05 2.22 2.18 2.20 2.00 Ú(Ø) (s) 1.02 1.03 1.50 1.80 1.80 Bredden på ån vid mätsstället är Û = 8Ñ. Beräkna flödet med någon av de metoder som ingår i kursen och uppskatta även diskretiseringsfelet med Richardsonextrapolation. ½ 2
4. (a) Matlabs inbyggda integral-lösare innehåller s k adaptiva metoder. Förklara kort vad det begreppet betyder (du behöver inte beskriva algoritmen). (b) För lösning av icke-linjära ekvationer används som regel iterativa metoder, t ex Newton-Raphsons. Nedan ser du en sekvens av beräknade lösningar Ü från Newton-Raphsons metod och en annan metod (det spelar ingen roll vilken metod). Tyvärr vet vi inte vilken sekvens som tillhör vilken metod. Avgör detta (med motivering). x0 = 0.9 x1 = -2.4845756 x2 = 2.2971761 x3 = 1.9818160 x4 = 1.9349357 x5 = 1.9337545 x6 = 1.9337538 x7 = 1.9337538 x0 = 1.9000000 x1 = 1.9455591 x2 = 1.9293465 x3 = 1.9353621 x4 = 1.9331618 x5 = 1.9339709 x6 = 1.9336740 x7 = 1.9337831 5. (a) Antag att du i ett MATLAB-program har en Ò Ò-matris och en kolonnvektor Ý med n element. Skriv de MATLAB-satser som kontrollerar om matrisen gånger vektorn Ý blir lika med vektorn Ý. Observera att beräkningarna sker i ett flyttalssystem, där avrundningsfel kan uppträda. (b) Skriv den matematiska funktion (Ô) = Ò(Ô) Ô 2 1 2Ô som en Matlabfunktion med namnet func. 3
Del B 6. I kursen ingår ett antal nyckelbegrepp (t ex diskretiseringsfel, noggrannhetsordning, avrundningsfel, maskinepsilon, iteration, kondition och konditionstal, effektivitet, adaptivitet, konvergens). Bilden nedan visar två numeriska metoder och hur felet avtar som funktion av steglängd. Koppla samman det du ser i bilden med relevanta nyckelbegrepp och ange hur det är kopplat till bilden. 10 0 10 2 10 4 Metod 1 Metod 2 10 6 10 8 10 10 10 12 10 14 10 16 10 18 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 h Figur 1: Felet som funktion av steglängd 7. När man har system av Ñ st icke-linjära ekvationer och använder Newton-Raphsons metod förvandlas ¼ (Ü ) till en Ñ Ñ-matris av derivator, den s k Jakobianen Â( Ü ). Divison med ¼ (Ü) blir då istället en matrisinvers och formuleringen av Newton-Raphson förändras till Ü +1 = Ü Â( Ü ) 1 ( Ü ) (1) där Ü, Ü +1 och ( Ü ) är vektorer av längd Ñ. Genom omskrivningen Ù = Â( Ü ) 1 ( Ü ) µ Â( Ü ) Ù = ( Ü ) kan man formulera om Newton-Rapsons metod till Â( Ü ) Ù = ( Ü ) Ü +1 = Ü + Ù (2) (a) Omformuleringen från (1) till (2) påverkar beräkningarna på något sätt. Förklara på vilket sätt och varför. (b) När man väl har bestämt sig för att använda (2), skulle man kunna använda LU-uppdelning. Tjänar man något på det om man ser till antalet operationer? 4
Ê 8. Antag att du är inblandad i ett projekt där det ingår att beräkna en integral (Ø)Ø, där funktionen (Ø) inte är känd. Istället har man har mätvärden tillgängliga enligt: Ø Ø 1 Ø 2 Ø Ò (Ø) (Ø 1 ) (Ø 2 ) (Ø Ò ) Det mätinstrument som används vid mätningarna ger en noggrannhet på två korrekta decimaler. Eftersom mätningar är komplicerade och dyra att göra vill man ha så få mätpunkter som möjligt. Å andra sidan vill man att noggrannheten ska vara så bra som möjligt. I projektet vill man förutom själva beräkningar av integralen därför också veta hur noggrann lösningen är. Företaget vill nu ha en algoritm eller skiss för hur man kan lösa problemet. Du kan t ex använda en matlabliknande kod i din skiss (inga avdrag görs för rena matlabfel). Du kan förutsätta att programvara som MATLAB finns tillgänglig, men inbyggda integralberäknare i MATLAB ska inte användas. Företaget vill också veta vad man kan säga om noggrannheten i lösningarna och hur man går tillväga för att få fram noggrannheten. De vill också veta hur man på billigast möjliga sätt går tillväga för att förbättra noggrannheten om det krävs. När du utför ovanstående är det viktigt att du använder relevanta begrepp (på ett korrekt sätt). 5
6
Uppsala universitet Inst. för informationsteknologi Avd. för teknisk databehandling Blandade formler i Beräkningsvetenskap I och II 1. Flyttal och avrundningsfel Ett flyttal Ð(Ü) representeras enligt Ð(Ü) = ˆÑ ˆÑ = ( 0 1 2 Ô 1 ) 0 0 = 0 Ä Í där betecknar bas och Ô precision. Ett flyttalssystem defineras È ( Ô Ä Í). Maskinepsilon (avrundningsenheten) Å = 1 2 1 Ô och kan defineras som det minsta tal sådant att Ð(1 + ) 1. 2. Linjära och ickelinjära ekvationer (Ü ) ¼ (Ü ) Newton-Raphsons metod: Ü +1 = Ü För system: Ü +1 = Ü [ ¼ ] 1 (Ü ), där Ü och (Ü ) är vektorer och ¼ är Jacobianen. Fixpunktsiteration för Ü = (Ü): Ü +1 = (Ü ) Allmän feluppskattning Ü Ü (Ü ) min ¼ (Ü) Konditionstalet cond() = 1 mäter känsligheten för störningar hos ekvationssystemet Ü =. Det gäller att Ü Ü cond() där Ü = Ü ˆÜ och = ˆ. Normer (vektor- respektive matrisnorm) Ü 2 = Ô Ü 1 2 + + Ü Ò 2 Ü 1 = È Ü Ü ½ = max Ü 1 = ÑÜ ( È ) ½ = ÑÜ ( È )
3. Approximation Newtons interpolationspolynom Ô(Ü) då vi har Ò punkter (Ü 1 Ý 1 ) (Ü Ò Ý Ò ) bygger på ansatsen Ô(Ü) = 0 + 1 (Ü Ü 1 ) + 2 (Ü Ü 1 )(Ü Ü 2 ) + + Ò 1 (Ü Ü 1 ) (Ü Ü Ò 1 ) Minstakvadratapproximationen till punktmängden (Ü 1 Ý 1 ) (Ü 2 Ý 2 ) (Ü Ñ Ý Ñ ) med ett Ò:egradspolynom Ô(Ü) = 0 1 + 1 Ü + + Ò Ü Ò kan formuleras som ett överbestämt ekvationssystem Ü =, där är Ñ Ò, Ñ Ò. Minstakvadratlösningen kan fås ur normalekvationerna Ì Ü = Ì 4. Ordinära differentialekvationer Eulers metod (explicit Euler): Ý +1 = Ý + (Ü Ý ), n.o. 1 Implicit Euler (Euler bakåt): Ý +1 = Ý + (Ü +1 Ý +1 ), n.o. 1 Trapetsmetoden: Ý +1 = Ý + 2 ((Ü Ý ) + (Ü +1 Ý +1 )), n.o. = 2 Heuns metod (tillhör gruppen Runge-Kuttametoder): Ã 1 = (Ü Ý ) Ã 2 = (Ü +1 Ý + Ã 1 ) Ý +1 = Ý + 2 (Ã 1 + Ã 2 ) n.o. = 2 Klassisk Runge-Kutta: Ã 1 = (Ü Ý ) Ã 2 = (Ü + 2 Ý + 2 Ã 1) Ã 3 = (Ü + 2 Ý + 2 Ã 2) Ã 4 = (Ü +1 Ý + Ã 3 ) Ý +1 = Ý + 6 (Ã 1 + 2Ã 2 + 2Ã 3 + Ã4) n.o. = 4 5. Numerisk integration Trapetsformeln Beräkning på ett delintervall med steglängd = Ü +1 Ü Ü+1 Ü (Ü) Ü = 2 [(Ü ) + (Ü +1 )]
Sammansatt formel på helt intervall [ ], då ekvidistant steglängd = : (Ü) Ü 2 [(Ü 0) + 2(Ü 1 ) + + 2(Ü Æ 1 ) + (Ü Æ )] Diskretiseringsfelet Ê på helt intervall [ ], dvs Ê (Ü) Ü = Ì () + Ê är Ê = ( ) 2 ¼¼ () 12 Funktionsfelet (övre gräns): ( ), där är en övre gräns för absoluta felet i varje funktionsberäkning. Simpsons formel Beräkning på ett dubbelintervall med steglängd Ü+2 (Ü) Ü = Ü 3 [(Ü ) + 4(Ü +1 ) + (Ü +2 )] Sammansatt formel på helt intervall [ ], då ekvidistant steglängd = : (Ü) Ü 3 [(Ü 0) + 4(Ü 1 ) + 2(Ü 2 ) + 4(Ü 3 ) + + 2(Ü Æ 2 ) + 4(Ü Æ 1 ) + (Ü Æ )] Diskretiseringsfelet Ê på helt intervall [ ], dvs Ê (Ü) Ü = Ë() + Ê är Ê = ( ) 180 4 ¼¼¼¼ () Funktionsfelet: Samma som för trapetsformeln, se ovan. 6. Richardsonextrapolation Om 1 () och 1 (2) är två beräkningar (t ex ett steg i en beräkning av en integral eller en ODE) med en metod av noggrannhetsordning Ô med steglängd respektive dubbel steglängd 2 så är Ê() = 1() 1 (2) 2 Ô 1 en uppskattning av den ledande termen i trunkeringsfelet i 1 (). Kan även användas för att förbättra noggrannheten i 1 () genom () = 1 () + 1() 1 (2) 2 Ô 1
7. Numerisk derivering För numerisk derivering används s k differensformler ¼ (Ü) ¼ (Ü) ¼ (Ü) ¼¼ (Ü) (Ü+) (Ü ) 2 (Ü+) (Ü) (Ü) (Ü ) (Ü+) 2(Ü)+(Ü ) 2 8. Monte Carlometoder centraldifferens framåtdifferens bakåtdifferens Noggrannhetsordning för Monte carlometoder är Ç( 1 Ô Æ ), där Æ är antal samplingar. Kumultativ fördelningsfunktion: (Ü) = Ê Ü½ (Ý)Ý Normalfördelning (Ü) = Ô 1 2 (Ü ) 2 2 2 Aritmetiskt medelvärde baserat på Æ realisationer Ü av slumpvariablen : È = 1 Æ Æ =1 Ü. 9. Taylorutveckling Taylorutveckling av Ý(Ü + ) kring Ü : Ý(Ü + ) = Ý(Ü ) + Ý ¼ (Ü ) + 2 2! ݼ¼ (Ü ) + 3 3! ݼ¼¼ (Ü ) + Ç( 4 )