Uppsala universitet Institutionen för informationsteknologi Beräkningsvetenskap Tentamen i Beräkningsvetenskap II, 5.0 hp, 2016-03-16 Del A 1. (a) Beräkna lösningen Ù vid Ø = 03 till differentialekvationen Ù = 1 3 Ø + 12ØÙ Ø 0 Ù(0) = 3 med Euler framåt och tidssteget = 01. (algoritm) Ø 0 = 0 Ø 1 = 01 Ø 2 = 02 Ø 3 = 03 Ù 0 = 3 (Ù Ø) = 1 3 Ø + 12ØÙ Ù 1 = Ù 0 + (Ù 0 Ø 0 ) = 3 Ù 2 = Ù 1 + (Ù 1 Ø 1 ) = 33633 Ù 3 = Ù 2 + (Ù 2 Ø 2 ) = 41772 (b) Vid tiden Ø = 04 blir lösningen med olika tidssteg h 0.1 0.05 0.025 u(0.4) 7.7286 7.8422 7.8706 Vilken metod har använts - Euler framåt eller Heuns metod? Motivera ditt val. Använd nyckelbegrepp. Globala felet är Ô där är en konstant. Kvoten mellan felen är 4 78422 77286 78706 78422 = (2)Ô (4) Ô Ô (2) Ô = 2 Ô Alltså är Ô = 2 som är ordning av Heuns metod (analys och nyckelbegrepp). 2. (a) Låt vara en täthetsfunktion så att: 1 (Ü) = 2 Ü : 0 Ü 2 0 : för övrigt 1
Beräkna den kumulativa fördelningsfunktionen (Ø) = Ê Ø (Ü)Ü. 0 : Ø 0 1 (Ø) = Ø 4 Ø2 : 0 Ø 2 1 : 2 Ø (b) I MATLAB kan man anropa funktionen rand och generera ett slumptal Ù ur en likformig fördelning på intervallet [0]. Lös ekvationen (Ø) = Ù och beskriv hur man kan generera ett slumptal Ø med fördelningen med inverse transform sampling. Ô Ø = 2(1 1 Ù) 3. I en Monte Carlo metod används för varje slumpat utfall en numerisk ODE-lösare med andra ordningens noggrannhet på ett fixt intervall [0 Ì]. Man samplar alltså Æ numeriska lösningar, var och en med numerisk steglängd. Det totala felet består då av ett Monte Carlo fel Å plus ett oberoende fel från ODE-lösaren Ç. (a) För att kunna välja mellan olika metoder är det viktigt att kunna uppskatta beräkningskostnaden. Hur många gånger dyrare är det att använda parametrarna (4 4Æ) än ( Æ)? kostnaden för ODE-lösaren beror på antalet tidssteg som i sin tur är» 1. Om vi räknar ut Æ sådana lösningar bör kostnaden skala som Æ. Med ( Æ) (4 4Æ) ökar den kvoten 16 gånger. (argumentation) (b) Antag att man för ett visst val av parametrar ( Æ) uppskattat det totala felet till och vidare uppskattat att Ç = 9 Å. Man vill nu välja nya parametrar så att det nya felet blir 10 och dessutom så att Ç = Å. Bestäm de nya parametrarna. informationen i uppgiften ger oss Ç = 09 och Å = 01. Om vi sätter de nya parametrarna till ( 2 Æ) kan vi förvänta oss de nya felen (091 2 12 012 ). Vi får två ekvationer (091 2 12 012 ) = (005 005) med lösningen ( 2 ) = ( Ô 18 4). De nya parametrarna blir alltså (Ô 18 4Æ). (analys) 4. En ODE för tre variabler Ý 1 Ý 2 och Ý 3 ska lösas i intervallet [100]. ODEn är y = Ay + b y(1) = y 0 2
där A = 1 2 3 21 22 23 31 32 33 b = 2 3 y = Ý 1 Ý 2 Ý 3 22 är mycket större än de andra elementen i matrisen, 3 är mycket större än de andra elementen i vektorn b och Ý 1 (1) är mycket mindre än de andra elementen i y. (a) Vad har ODE systemet för egenskap och varför är det så? Karakterisera lösningen till systemet. (b) En explicit metod används för den numeriska lösningen. Hur kommer den att uppföra sig? Om en implicit metod används hur kommer den förmodligen att uppföra sig? (a) Eftersom 22 är mycket större än de andra elementen i matrisen så är ODEsystemet styvt. Lösningen har en snabbt varierande komponent och två långsamt varierande. Storleken på och Ý(0) spelar ingen roll. (b) En explicit metod kommer att ta mycket små tidssteg och blir ineffektiv. (c) En implicit metod kan ta mycket längre tidssteg och blir därför effektivare. 5. Givet är data i följande tabell: Ø 0 1.00 2.00 3.00 4.00 5.00 0 1.64 7.44 16.60 30.07 45.90 (a) För betyg 4: Anpassa ett andragradspolynom Ô enligt = Ô(Ø) till dessa data. Ange de ekvationer som ska lösas (men dessa måste inte lösas!). Man undviker oftast att lösa normalekvationerna direkt. Varför inte då och hur gör man istället? vi sätter Ô(Ø) = 0 + Ø + 2 Ø 2 och önskar således Ô(Ø ) =, = 1 6, i MK-mening. Detta ger ekvationerna 1 Ø 1 Ø 2 1 1 Ø 2 Ø 2 2 1 Ø 3 Ø 2 3 1 Ø 4 Ø 2 4 1 Ø 5 Ø 2 5 1 Ø 6 Ø 2 6 0 2 = 1 2 3 4 5 6 3
för data från tabellen (Ø ), = 1 6. Normalekvationerna fås genom multiplikation från vänster med Ì, där är den vänstra matrisen. Vi får È 1 È È È È È Ø È Ø2 È Ø È Ø2 È Ø3 0 È = Ø Ø2 Ø3 Ø4 2 È Ø2 där alla summor löper över = 1 6. Ekvationerna blir 6 15 55 15 55 225 0 = 10165 41610 55 225 979 180942 2 Man löser sällan normalekvationerna direkt då de ofta är illakonditionerade. Istället används oftast någon form av ortogonalisering av kolumnerna i matrisen direkt. (b) För betyg 5: Dr. B. Ulrik upptäcker till sin fasa att ett konsekvent mätfel smugit sig in! De data som anges i tabellen är inte, = 1 6, utan exp( Ø ), där Ø är tiden. Anpassa ett andragradspolynom Ô som i (a) men bestäm också samtidigt. Ange de ekvationer som ska lösas (men dessa måste inte lösas!). För ett överbestämt system Ü = löser man sällan normalekvationerna direkt. Varför inte då? Antag att man har en faktorisering = ÉÊ, där É är ortonormal, É Ì É = Á, och Ê är triangulär. Ange hur MK-lösningen då kan tas fram. vi sätter Õ(Ø) = 0 + Ø + 2 Ø 2 + exp( Ø ) och önskar således Õ(Ø ) =, = 1 6, i MK-mening. Detta ger ekvationerna 1 Ø 1 Ø 2 1 exp( Ø 1 ) 1 Ø 2 Ø 2 2 exp( Ø 2 ) 1 Ø 3 Ø 2 3 exp( Ø 3 ) 1 Ø 4 Ø 2 4 exp( Ø 4 ) 1 Ø 5 Ø 2 5 exp( Ø 5 ) 1 Ø 6 Ø 2 6 exp( Ø 6 ) 0 2 = Normalekvationerna fås genom multiplikation från vänster med Ì, där är den vänstra matrisen. Vi får med = exp( Ø ), È È È È È È È Ø Ø2 È È 0 È Ø È Ø2 È Ø3 Ø È Ø2 Ø3 Ø4 È Ø2 = È È Ø Ø2 È È È Ø Ø2 Ø3 1 2 3 4 5 6 2 È 4
Ekvationerna blir 6 15 55 15781 15 55 225 08949 55 225 979 18188 15781 08949 18188 11565 0 2 = 10165 41610 180942 32967 Man löser sällan normalekvationerna direkt då de ofta är illakonditionerade. Om = ÉÊ fås normalekvationerna Ì = Ì Ü = Ê Ì É Ì ÉÊÜ = Ê Ì ÊÜ, vilket är ett faktoriserat linjärt system. 6. Följande ODE ska lösas numeriskt för Ø 0: Ý1 = Ý 1 + 2Ý 2 1 Ý2 = Ý 1 3Ý 2 + 1 Begynnelsevärdena är Ý 1 (0) = 1 Ý 2 (0) = 2. (a) För betyg 4: Systemet löses med Heuns metod. i. Visa med hjälp av Taylorutveckling att Heuns metod är av andra ordningen. ii. Beräkna stabilitetsområdet för Heuns metod. iii. Med tidssteget = 065 blir lösningen enligt tabellen nedan. Ø 0 0.6500 1.3000 1.9500 2.6000 3.2500 Ý 1 /1000 0.0010-0.0006-0.0028-0.0063-0.0129-0.0260 Ý 2 /1000 0.0020 0.0027 0.0046 0.0087 0.0173 0.0349 Är denna lösning rimlig? Förklara varför lösningen beter sig så här. Hur kan lösningen förbättras? (b) För betyg 5: Systemet löses med trapetsmetoden. i. Visa med hjälp av Taylorutveckling att trapetsmetoden är av andra ordningen. ii. Beräkna stabilitetsområdet för trapetsmetoden. iii. Med tre olika tidssteg = 01 02 04 blir lösningen enligt tabellen nedan. Är dessa lösningar rimliga? 5
Ø Ý 2 = 01 Ý 2 = 02 Ý 2 = 04 0 2.0000 2.0000 2.0000 0.1000 1.6590 0.2000 1.4177 1.4043 0.3000 1.2449 0.4000 1.1192 1.1067 1.0435 0.5000 1.0260 0.6000 0.9552 0.9466 0.7000 0.9001 0.8000 0.8558 0.8504 0.8280 iv. Visa med hjälp av tabellen att ordningen för trapetsmetoden är 2. (a) i. Trunkeringsfelet är = Ý(Ø +1 ) Ý(Ø ) 05((Ø Ý ) + (Ø +1 Ý +1 )) Vi börjar med Ý +1 och Taylorutveckling runt Ø +1. Låt Ý = Ý(Ø +1 ) Ý = Ý (Ø +1 ) Ý = Ý (Ø +1 ). Då får vi först Ý(Ø ) = Ý Ý + 05 2 Ý + Ç( 3 ) Ý (Ø ) = Ý Ý + Ç( 2 ) och sedan Ý +1 = Ý(Ø ) + (Ø Ý ) = Ý Ý + 05 2 Ý + (Ý Ý ) + Ç( 3 ) = Ý 05 2 Ý + Ç( 3 ) Använd expansionerna i Nu blir (Ø +1 Ý +1 ) = (Ø +1 Ý 05 2 Ý + Ç( 3 )) = (Ø +1 Ý) 05 2 Ý Ý + Ç(3 ) = Ý 05 2 Ý Ý + Ç(3 ) = Ý (Ý Ý + 05 2 Ý ) 05(Ý Ý + Ý 05 2 Ý ) + Ç(3 ) = Ç( 3 ) Metoden är av ordning 2. ii. Applicera metoden på ekvationen Ý = Ý. Då blir Ý Ò+1 Ý Ò+1 = Ý Ò + 05(Ý Ò + (Ý Ò + Ý Ò )) = (1 + )Ý Ò + 05 2 2 Ý Ò 6
Då blir Ý Ò+1 = (1 + + 05() 2 )Ý Ò Metoden är stabil om 1 + + 05() 2 Området är en oval i vänstra halvplanet. iii. Den numeriska lösningen ser inte rimlig ut. Den växer snabbt trots att ODEn ser snäll ut. Problemet är att tidssteget är för stort och metoden är instabil. En stabil lösning får vi genom att minska tidssteget till t ex 0.2. (b) i. Trunkeringsfelet är = Ý(Ø +1 ) Ý(Ø ) 05((Ø Ý ) + (Ø +1 Ý(Ø +1 )) Vi Taylorutvecklar runt Ø. Låt Ý = Ý(Ø ) Ý = Ý (Ø ) Ý = Ý (Ø ). Då får vi först Ý(Ø +1 ) = Ý+Ý +05 2 Ý +Ç( 3 ) Ý (Ø +1 ) = Ý +Ý +Ç( 2 ) och sedan (Ø +1 Ý(Ø +1 )) = Ý (Ø +1 ) = Ý + Ý + Ç( 3 ) Nu blir = Ý + Ý + 05 2 Ý Ý 05(Ý + Ý + Ý + Ç( 2 )) = Ç( 3 ) Metoden är av ordning 2. ii. Applicera metoden på ekvationen Ý = Ý. Då blir Ý Ò+1 Ý Ò+1 = Ý Ò + 05(Ý Ò+1 + Ý Ò ) = (1 + 05)Ý Ò + 05Ý Ò+1 Ý Ò+1 = 1 + 05 1 05 Ý Ò Metoden är stabil om 1 + 05 1 05 Området är vänstra halvplanet. 7
iii. Den numeriska lösningen avtar regelbundet för alla steglängderna och lösningarna för olika steglängder ligger i närheten av varandra. Lösningarna är rimliga. iv. För det globala felet gäller att det är Ô där är en konstant. De numeriska lösningarna med tre olika steg är Ý Ò = Ý(Ø Ò )+ Ô Ý Ò2 = Ý(Ø Ò )+(2) Ô Ý Ò4 = Ý(Ø Ò )+(4) Ô Vid Ø = 08 gäller enligt tabellen Alltså har vi 08558 = Ý(Ø Ò ) + Ô 08504 = Ý(Ø Ò ) + (2) Ô 08280 = Ý(Ø Ò ) + (4) Ô 08558 08504 = 00054 = (1 2 Ô ) Ô 08504 08280 = 00224 = (2 Ô 4 Ô ) Ô = 2 Ô (1 2 Ô ) Ô Om (1 2 Ô ) Ô = 00054 så blir 2 Ô = 0022400054 4, dvs Ô = 2. 8