Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Per Lötstedt, tel. 471 2986 Ken Mattsson, tel 471 2975 Tentamen i Beräkningsvetenskap II, 5.0 hp, 2015-06-02 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat formelblad, miniräknare. Det är också tillåtet att använda Mathematics Handbook eller Physics 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. Skriv svaren på varje fråga på separata papper. Kursmål (förkortade), hur de täcks i uppgifterna och maximal poäng på varje mål och uppgift. Fråga nr Nyckelbegrepp Algoritmer Analys Argumentation Total poäng 1 1 3 2 2 8 2 1 2 2 2 7 3 1 3 0 2 6 4 0 3 3 3 9 5 3 4 0 1 8 Betygsgränser: 3 Minst 10 poäng, varje mål måste ha åtminstone något poäng. Poäng för betyg 3 får samlas även på del B, (uppgift 4 och 5). 4 Minst 20 poäng, varav minst 5 poäng på del B, varje mål måste fortfarande ha åtminstone något poäng. 5 Minst 28 poäng, varav minst 8 poäng på del B, varje mål måste ha åtminstone två poäng. 1
Del A 1. (a) Beräkna lokala trunkeringsfelet för Euler bakåtmetoden. (b) Vilken noggrannhetsordning har metoden? (c) Vi vill lösa differentialekvationen Ù ¼¼ + Ù ¼ + 2 Ù = sin(ø) Ø 0 Ù(0) = Ù 0 Ù ¼ (0) = Ú 0 Skriv först om ekvationen. Ta sedan ett tidssteg framåt från tiden Ø Ò och Ù vid Ø Ò till Ø Ò+1 med tidssteget med Euler bakåtmetoden. Vilket blir ekvationssystemet som ska lösas för Ù vid Ø Ò+1? (d) Givet en differentialekvation för Ø 0 Ù ¼ 1 3 1 Ù1 sin(ø) Ù2 ¼ = 2 10 3 + 1 Ù 2 1+Ø Ù1 (0) Ù 2 (0) = 1 1 föreslå en lämplig metod att lösa ekvationen numeriskt och motivera varför. 2. (a) Beräkna integralen Á = 2 0 Ü cos(ü 2 )Ü med en stokastisk metod med de likformigt fördelade slumptalen i intervallet [0 2] Ü = 10938 19150 01951 19298 05570 (b) Hur många punkter behövs om svaret ska ha två korrekta decimaler? Det analytiska värdet på integralen är Á = sin(4)2 = 03784. (c) Vad är skillnaden på en deterministisk beräkningsmetod och en stokastisk beräkningsmetod? (d) En integral kan också beräknas med en deterministisk metod som trapetsmetoden eller Simpsons metod. När är det mera effektivt att använda en deterministisk metod? 3. (a) Vad kallas följande typ av interpolation? Styckvisa tredjegradspolynom limmas ihop genom att kräva att den totala kurvan går genom samtliga punkter samt har kontinuerlig första- och andraderivata överallt. (b) Använd minstakvadratanpassning för att anpassa ett polynom Ý = 1 Ü + 0 till följande punkter: 2
x -1 0 2 y 0 4-2 (c) Du har en tabell där mätvärden av en funktion (Ü) är tabulerade mot ett stort antal (Ò 1000 stycken) Ü-värden: Ü (Ü) Ü 1 1 Ü 2 2. Samtliga värden är uppmätta med mycket hög noggrannhet. Du är intresserad av ett värde på för ett värde på Ü som ligger mellan två tabulerade värden. Vilken av följande typer av kurvanpassning skulle du använda för att lösa problemet? Motivera varför de två andra metoderna är olämpliga. Minstakvadratanpassning. Interpolera med ett polynom av grad Ò 1 till samtliga datapunkter. Interpolation med ett polynom av låg grad till närliggande datapunkter.. 3
Del B 4. Stabilitetsområdena för Euler framåt och fjärde ordningens Runge-Kutta presenteras i Figur 1. Runge Kutta A Stabiity Regions 3 Eulers Method RK4 2 1 Im 0 1 2 3 5 4 3 2 1 0 1 2 3 Re Figure 1: Stabilitetsområdena för Euler framåt och fjärde ordningens Runge-Kutta. Betrakta följande ODE: Ù Ø = ( sin (Ø))Ù + (Ø) Ø 0 Ù = Ø = 0 (1) där och är parametrar, (Ø) en känd funktion av tiden Ø och begynnelsedata. (a) Antag nu att = (där = 1) och = 0. Använd en av kursens metoder för att lösa (1) på ett bevisligen stabilt sätt. Du får utnyttja information från Figur 1. (Obs: Endast algoritmen och analysen behöver redovisas.) (b) Antag nu att = 1000 (där = 1) och = 0. Använd en av kursens metoder (som har minst noggrannhetsordning 2) för att lösa (1) på ett bevisligen stabilt sätt. För full poäng ska algoritmen utnyttja adaptivt tidssteg. Du 4
får utnyttja information från Figur 1. (Obs: Endast algoritmen och analysen behöver redovisas.) 5. En kontinuerlig sannolikhetstäthet (Ü) är definierad som 08 16 (Ü) = 12 04 0 Ü 14 14 Ü 12 12 Ü 34 34 Ü 1 och en diskret sannolikhetsfunktion (Ü) är definierad som 02 Ü = 0 04 Ü = 14 (Ü) = 03 Ü = 12 01 Ü = 34 I en Monte Carlo-simulering behöver vi dra slumptal från fördelningarna definierade av (Ü) och (Ü). (a) Förklara hur Inverse Transform Sampling kan användas för att dra ett slumptal från var och en av fördelningarna. (b) Använd Inverse Transform Sampling för att generera slumptal utgående från (Ü) och (Ü) med hjälp av det likformigt fördelade slumptalet Ù = 047. (c) Skriv ett Matlab-skript som drar ett godtyckligt antal slumptal med fördelningen (Ü). 5
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 = (Ü ) Konvergenskvot, konvergenshastighet Ü +1 Ü lim = ½ Ü Ü Ö där är en konstant, och Ö anger konvergenshastigheten (Ö = 1 betyder t ex linjär konvergens). 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): ( funktionsberäkning. Simpsons formel Beräkning på ett dubbelintervall med steglängd Ü+2 Ü (Ü) Ü = 3 [(Ü ) + 4(Ü +1 ) + (Ü +2 )] ), där är en övre gräns för absoluta felet i varje 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 Den övergripande strukturen för Monte Carlosimuleringar är Indata N (antal försök) for i = 1:N Utför en stokastisk simulering resultat(i) = resultatet av simuleringen end slutresultat genom någon statistisk beräkning, t.ex. medelvärdet mean(resultat) 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 slumpvariabeln : = 1 Æ 9. Taylorutveckling Taylorutveckling av Ý(Ü + ) kring Ü : Ý(Ü + ) = Ý(Ü ) + Ý ¼ (Ü ) + 2 2! ݼ¼ (Ü ) + 3 3! ݼ¼¼ (Ü ) + Ç( 4 ) ÆÈ =1 Ü.