FÖRSÄTTSBLAD TILL TENTAMEN Din tentmenskod (6 siffror): ELLER (fyll br i om du sknr tentmenskod): Personnummer: - Dtum: december Kursens nmn (inkl. grupp): Beräkningsvetenskp I (TD393), KF (TD399) Termin då du först registrerdes på kursen : Utbildningsprogrm (eller liknnde): Bordsnummer: Kontroller tt du fått rätt tentmensuppgifter. Dett bld skll ifylls även om ingen uppgift behndlts. Använd INTE penn med röd färg. Uppgift Löst (kryss) Mål -4 Lärrens bedömning 3, 3 3 3 3 4 3 3 5 3, 3 6 4 7 4/5 Betyg: Tentmen rätts INTE om det skns registrering på kursen.
Tentmen i Beräkningsvetenskp I (TD393), KF (TD399) Skrivtid: december kl 4 7 (senst) Bergsbrunngtn 5, sl OBS! 3 timmr! Hjälpmedel: Godkänd littertur: Mthemtics hndbook, Physics hndbook. Penn, rdergummi, miniräknre och linjl får nvänds. Formler finns i bifogd formelsmling. Övrigt: Uppgiftern måste vr välskrivn, med ll ingåe tnkesteg redovisde. Endst svr på förtryckt svrsblnkett bekts. Observer tt tentmen rätts bsert på kursmål. För godkänt krävs tt vrje mål sk h minst en godkändmrkering, och tt något mål sk h minst två godkändmrkeringr. Kortfttde kursmål: Nyckelbegrepp Vis förtrogenhet med nyckelbegrepp som ingår i kursen. Algoritmer Vis förtrogenhet med de lgoritmer som ingår i kursen. 3 Anlys Vis förtrogenhet med de nlysförfrnden som ingår i kursen. 4 Progrmmering Vis elementär förtrogenhet med progrmmering (mer vncerd progrmmering görs i grupp och frmför dtor). Uppgift : Begrepp Mx målbetyg: 3, 3 Följnde nyckelbegrepp ingår i kursen: noggrnnhetsordning, diskretiseringsfel, mskinepsilon, itertion, konditionstl, effektivitet, dptivitet, lgoritm, underflow, overflow, konvergenshstighet. Pr ihop vr och en v följnde beskrivningr med ett v ovnståe nyckelbegrepp. För godkänt krävs minst två korrekt pr. Om det reltiv felet i högerledet för ett linjärt ekvtionssystem är känt, kn mn vgör hur stort det reltiv felet i lösningen är. För tt lös ett problem med en dtor, skpr mn en steg för stegbeskrivning hur problemet löses. 3 Ett steg med Newton Rphsons metod för tt lös icke-linjär ekvtioner dubblerr ntlet korrekt värdesiffror. 4 Mn kn inte lgr hur stor flyttl som helst i dtorn. -Konditionstl, -Algoritm, 3-Konvergenshstighet, 4-Overflow b Ange ett v ovnståe nyckelbegrepp som är reltert till följnde Mtlb-utskrift. Du måste motiver ditt svr genom tt beskriv vd som hänt. x = e-5; (y+x)-y ns = y = e-7; Mskinepsilon. Skillnden melln tlen är potensen (5-7) = 8 och 8 < ɛ M vilket ger svret, skillnd 6 är den minst som ger ett nollskilt svr. Uppgift : LU-uppdelning Mx målbetyg: 3
När mn löser ett linjärt ekvtionssystem Ax = b nvänds tre lgoritmer: LU-uppdelning, frmåtsubstitution, och slutligen bkåtsubstitution. En LU-uppdelning v en mtris A hr tidigre beräknts och gett resulttet L = U = 6 3 4 3 P = Vis tt du behärskr lgoritmen för frmåt- och bkåtsubstitution genom tt lös ekvtionssystemet, då högerledet b = 3 Lös först med frmåtsubstitution, Ly = P b (obs rdbyte i b): y = y = y = y = y 3 = 3 y y = 3 + = 3 3 Sedn bkåtsubstitution, U x = y: x 3 = 3/3 = x = / = x = ( 3x 4x 3 )/6 = x = Uppgift 3: Ickelinjär ekvtion Vi söker roten till ekvtionen f(x) =, där f(x) = x 3 + 3x x +. Skissr mn upp funktionen, ser den ut enligt följnde: Mx målbetyg: 3 3 Använd strtgissningen x = 3 och beräkn roten med Newton Rphsons metod. Itertionern sk vbryts då decimlers noggrnnhet hr konstterts.
Beräkning: Vi börjr med x = 3. Vi sk slut iterer när det bsolut felet är mindre än eller lik med.5. Itertion. Beräkn näst rotuppskttning x = 3 =.8. Absolut felet efter denn itertion uppsktts till x x = 3.8 =. som är större än.5. Stoppvillkoret är inte uppfyllt, så vi fortsätter. Itertion. Beräkn näst rotuppskttning x =.8.3 7.7.7699. Absolut felet efter denn itertion uppsktts till x x =.8.7699.3 som är större än.5. Stoppvillkoret är inte uppfyllt, så vi fortsätter. Itertion 3. Beräkn näst rotuppskttning x 3 =.7699.48497 7.398.769. Absolut felet efter denn itertion uppsktts till x 3 x =.7699.769 =.7 som är mindre än.5. Stoppvillkoret är uppfyllt, så vi slutr. Vår uppskttning till roten blir x.769. 3b Välj istället x = som strtgissning och utför två itertioner. Konvergerr metoden mot roten med denn strtgissning? Motiver ditt svr! Vi börjr med x =. Itertion. Beräkn näst rotuppskttning x = =. Itertion. Beräkn näst rotuppskttning x = =. Efter itertion är vi tillbk till strtgissningen. Rotuppskttningen kommer tt lterner melln och och ldrig konverger till roten. Uppgift 4: 4 Integrtion En funktion y är given för enstk punkter enligt Mx målbetyg: 3 3 x..4.6.8 y(x)..668.8.459 -.3 4b Beräkn en pproximtion till.8 nvänds. Trpetsformeln för det här problemet blir: y(x) dx med trpetsformeln. Smtlig funktionsvärden sk I T (h =.) = h (f(x ) + f(x ) + f(x ) + f(x 3 ) + f(x 4 )) = (. +.336 +.644 +.98.3) =.3868 =. Utn tt känn funktionens derivtor kn mn uppsktt diskretiseringsfelet i integrlen utn tt beräkn någr ny funktionsvärden. Beskriv hur mn gör då. Noggrnnhetsordningen för trpetsformeln är. Dett betyder tt feluppskttning kn görs med tredjedelsregeln, om trpetsformeln nvänts med två olik steglängder, där den en är dubbelt så stor som den ndr. Steglängden h =.4 är en dubbelt så stor steglängd som den som nvändes i ), och nvänder redn känd funktionsvärden. Felet kn uppsktts som T (h) T (h)/3 (T (h =.) T (h =.4))/3. Uppgift 5: Progrmmering Mx målbetyg: 3, 3 5 En institution hr smlt informtion om ntlet utexminerde per år. Vrje års exmensntl är sprt i en vektor. Mn hr skrivit följnde progrm för tt hitt det störst värdet i vektorn. function mxexm = exmin(ue) mxexm = ; ntl = length(ue);
for i = :ntl if UE(i) > mxexm mxexm = UE(i); Torrexekver exmin och nge vilket värde funktionen returnerr givet tt funktionen nrops med vektorn [454 9], dvs v = [454 9]; mxexm = exmin(v); Med torrexekver mens tt du utför instruktionern i funktionen för hnd och skriver ned hur vriblerns värden förändrs. UE = ( 454 9) mxexm = ntl = length(ue) = 3 for i=:3 => i = if UE() > => 454 > Snt mxemm = UE() = 454 i = if UE() > mxexm => > 454 Flskt i = 3 if UE(3) > mxemx => 9 > 454 Snt mxexm = UE(3) = 9 Resulttet blir lltså mxexm = 9. 5b Skriv den mtemtisk funktionen f(y, t) = t sin(y) + te y 5 som en funktionsfil för Mtlb. Kll funktionen, och därmed också filen, för ickelinjekv. function f=ickelinjekv(y,t) f=-t*sin(y)+t*exp(y)-5; Uppgift 6: Mtrisinvers Mx målbetyg: 4 I mång tillämpningr hr mn problem där mn löser ekvtionssystem med en mtris A och med mång högerled, där enbrt ett högerled i tget finns tillgängligt. En sådn tillämpning är beräkning v mtrisinvers. Mn brukr visserligen försök undvik tt explicit beräkn mtrisinversen, men iblnd är mn ändå tvungen tt gör dett. Om mn hr en n n- mtris A vrs invers sk beräkns explicit, så kn denn beräkning görs genom tt mn löser ekvtionssystemet med n olik högerled b, b,..., b n. Vrje högerled är en enhetsvektor, dvs b =. b =. b n =. Beskriv hur dett kn görs på ett effektivt sätt genom tt ge en övergripnde lgoritm för problemet, där slutresulttet sk vr en mtris innehållnde inversen A. Dessutom, utgåe från din lgoritm, ge en formel för ungefärligt ntl opertioner i beräkningen. Du behöver inte beskriv ll eventuell dellgoritmer, utn det är den övergipnde lgoritmen som är intressnt. Algoritmen sk klr v det generell problemet, dvs med vilk högerled som helst och där inte ll högerled nödvändigtvis måste vr tillgänglig på en gång.
Den här uppgiften innehåller en beräkning v n st linjär ekvtionssystem med olik högerled, och smm mtris, dvs Ax i = b i, i =,..., n. För tt gör dett effektivt måste mtrisen först LU-fktorisers (en gång) och sedn utförs frmåt- och bkåtsubstitution n gånger med olik högerled. Lösningrn x i lgrs sedn lämpligen som kolonner i en mtris som vi här t ex kllr Ainv. Om vi ntr tt högerleden är lgrde som kolonner i en mtris B, vilket då blir enhetsmtrisen, kn mn t ex skriv lgoritmen enligt (här är det skrivet i Mtlbkod): [L, U, P] = lu(a) [m, n] = size(a); for i = :n bi = B(:,i); y = L\(P*bi); xi = U\y; Ainv(:,i) = xi; % LU-fktorisering v A % Hämt kolonn nr i ur X % Frmåtsubstitution % Bkåtsubstitution % Lgr xi som kolonn nr i i mtrisen Ainv Antlet opertioner blir: Vi hr en LU-fktorisering 3 n3 opertioner. Sedn utförs n st frmåt- och bkåtsubstitutioner n n = n 3 opertioner. Totlt blir det 3 n3 + n 3 = 8 3 n3 opertioner. Går tt få ner ntlet opertioner till n 3 genom tt utnyttj nollor i högerleden. Algoritmen behöver inte beskrivs i form v mtlbkod, utn kn beskrivs på nnt sätt. Det måste dock beskrivs som en lgoritm och det måste tydligt frmgå tt LUfktorisering görs en gång etc. I opertionsberäkningen räcker det även om mn räknr ntlet opertioner vi LU-fktorisering som c n 3. Uppgift 7: Kvdrturformel Du hr tillgång till en Mtlb-funktion med funktionshuvudet Mx målbetyg: 4/5 function Q = qudrture4(func,, b, n) %QUADRATURE4 Guss-Legre kvdrtur % % Q = QUADRATURE4(FUNC,A,B,N) uppskttr en integrl I med hjälp v % Guss-Legre kvdrtur, för vilken % I = QUADRATURE4(FUNC,A,B,N) + C*h^4 + O(h^6) % för någon konstnt C. % % Funktionsprmetrr: % % FUNC -- ett hndtg till en Mtlbfunktion som motsvrr integrnden. % A, B -- bestämmer integrtionsintervllet [A, B] % N -- ntlet delintervll Din kollegor tolkr hjälptexten som tt funktionen uppskttr en integrl med hjälp v en så klld Guss Legre kvdrturformel Q 4 (h), så tt f(x)dx = Q 4 (h) + Ch 4 + O(h 6 ) där C är en konstnt. Med Q 4 (h) som utgångspunkt, skriv upp en metod med högre noggrnnhetsordning än Q 4 (h). Implementer metoden som en Mtlb-funktion med funktionshuvudet function Q = qudrturex(func,, b, n) där prmetrrn hr motsvrnde betydelse som för qudrture4. Vis vilken noggrnnhetsordning den ny metoden hr.
Algoritm: Använd Richrdsonextrpoltion för tt få frm en högre ordningens formel. formelsmlingen med Q 4 (h) och p = 4: R(h) = Q 4(h) Q 4 (h) 4 Q x (h) = Q 4 (h) + Q 4(h) Q 4 (h) 5 = Q 4(h) Q 4 (h) 5 Formeln blir lltså Q x (h) = Q 4 (h) + Q4(h) Q4(h) 5 Från () () Progrmmering: Formeln ovn implementers i qudrturex-funktionen, t ex enligt function Q = qudrturex(func,, b, n) if (mod(n,)) error( Incorrect input, n must be divisible with. ) Qh = qudrture4(func,, b, n); Qh = qudrture4(func,, b, n/); Q = Qh + (Qh - Qh) / 5; Anlys: Vis vilken noggrnnhetsordning det blir på den den ny metoden (Q x (h)): I = f(x)dx (3) (4) - (5): I = Q 4 (h) + Ch 4 + O(h 6 ) (4) I = Q 4 (h) + 4 Ch 4 + O(h 6 ) (5) = Q 4 (h) Q 4 (h) + ( 4 )Ch 4 + O(h 6 ) (6) = Ch 4 = Q 4(h) Q 4 (h) 4 insättes i (4) Alltså, + O(h 6 ) (7) I = Q 4 (h) + Q 4(h) Q 4 (h) 4 +O(h 6 ) (8) }{{} Q x(h) f(x)dx = Q x (h) + O(h 6 ) (9) och Q x (h) är därför en sjätte ordningens metod. För betyg 5 krävs tt mn gjort någonting på nlysdelen, även om det inte är en fullständig härledning. Det räcker lltså med ett resonemng där mn kopplr det till formeln f(x)dx = Q 4 (h) + Ch 4 + O(h 6 ) som ges i uppgiften.