F ¨ORS ¨ATTSBLAD TILL TENTAMEN
Din tentamenskod (6 siffror):
ELLER (fyll bara i om du saknar tentamenskod):
Personnummer:
-
Datum: 21 december 2012
Kursens namn (inkl. grupp): Ber¨akningsvetenskap I (1TD393), KF (1TD399)
Termin d˚a du f¨orst registrerades p˚a kursen1:
Utbildningsprogram (eller liknande):
Bordsnummer:
• Kontrollera att du f˚att r¨att tentamensuppgifter.
• Detta blad skall ifyllas ¨aven om ingen uppgift behandlats.
• Anv¨and INTE penna med r¨od f¨arg.
Uppgift L¨ost (kryssa) M˚al 1-4 L¨ararens bed¨omning
1 3, 3
2 3
3 3
4 3 3
5 3, 3
6 4
7 4/5
Betyg:
1Tentamen r¨attas INTE om det saknas registrering p˚a kursen.
Tentamen i Ber¨ akningsvetenskap I (1TD393), KF (1TD399)
Skrivtid: 21 december 2012 kl 1400 – 1700 (senast) Bergsbrunnagatan 15, sal 1 OBS! 3 timmar!
Hj¨alpmedel: Godk¨and litteratur: Mathematics handbook, Physics handbook. Penna, radergummi, minir¨aknare och linjal f˚ar anv¨andas. Formler finns i bifogad formelsamling.
Ovrigt:¨ Uppgifterna m˚aste vara v¨alskrivna, med alla ing˚aende tankesteg re- dovisade.
Endast svar p˚a f¨ortryckt svarsblankett beaktas. Observera att tentamen r¨attas baserat p˚a kursm˚al. F¨or godk¨ant kr¨avs att varje m˚al ska ha minst en godk¨andmarkering, och att n˚agot m˚al ska ha minst tv˚a godk¨andmarkeringar.
Kortfattade kursm˚al:
1 Nyckelbegrepp Visa f¨ortrogenhet med nyckelbegrepp som ing˚ar i kursen.
2 Algoritmer Visa f¨ortrogenhet med de algoritmer som ing˚ar i kursen.
3 Analys Visa f¨ortrogenhet med de analysf¨orfaranden som ing˚ar i kursen.
4 Programmering Visa element¨ar f¨ortrogenhet med programmering (mer avancerad programmering g¨ors i grupp och framf¨or dator).
Uppgift 1: Begrepp M˚al: 1 2 3 4
Max m˚albetyg: 3, 3
F¨oljande nyckelbegrepp ing˚ar i kursen: noggrannhetsordning, diskretiseringsfel, maskinep- silon, iteration, konditionstal, effektivitet, adaptivitet, algoritm, underflow, overflow, kon- vergenshastighet.
1a Para ihop var och en av f¨oljande beskrivningar med ett av ovanst˚aende nyckelbegrepp. F¨or godk¨ant kr¨avs minst tv˚a korrekta par.
1 Om det relativa felet i h¨ogerledet f¨or ett linj¨art ekvationssystem ¨ar k¨ant, kan man avg¨ora hur stort det relativa felet i l¨osningen ¨ar.
2 F¨or att l¨osa ett problem med en dator, skapar man en steg f¨or steg- beskrivning hur problemet l¨oses.
3 Ett steg med Newton–Raphsons metod f¨or att l¨osa icke-linj¨ara ekvationer dubblerar antalet korrekta v¨ardesiffror.
4 Man kan inte lagra hur stora flyttal som helst i datorn.
1b Ange ett av ovanst˚aende nyckelbegrepp som ¨ar relaterat till f¨oljande Matlab-utskrift. Du m˚aste motivera ditt svar genom att beskriva vad som h¨ant.
x = 1e-25; y = 1e-7;
(y+x)-y ans =
0
Uppgift 2: LU-uppdelning M˚al: 1 2 3 4 Max m˚albetyg: 3
N¨ar man l¨oser ett linj¨art ekvationssystem Ax = b anv¨ands tre algoritmer: LU-uppdelning, fram˚atsubstitution, och slutligen bak˚atsubstitution. En LU-uppdelning av en matris A har tidigare ber¨aknats och gett resultatet
L =
1 0 0
1
2 1 0
1
2 1 1
U =
6 3 4
0 −12 0
0 0 3
P =
0 1 0 1 0 0 0 0 1
Visa att du beh¨arskar algoritmen f¨or fram˚at- och bak˚atsubstitution genom att l¨osa ekva- tionssystemet, d˚a h¨ogerledet
b =
0 1 3
Uppgift 3: Ickelinj¨ar ekvation M˚al: 1 2 3 4
Max m˚albetyg: 3 Vi s¨oker roten till ekvationen f (x) = 0, d¨ar
f (x) = −x3+ 3x2− x + 1.
Skissar man upp funktionen, ser den ut enligt f¨oljande:
3a Anv¨and startgissningen x0 = 3 och ber¨akna roten med Newton–Raphsons metod. Itera- tionerna ska avbrytas d˚a 2 decimalers noggrannhet har konstaterats.
3b V¨alj ist¨allet x0 = 1 som startgissning och utf¨or tv˚a iterationer. Konvergerar metoden mot roten med denna startgissning? Motivera ditt svar!
Uppgift 4: Integration M˚al: 1 2 3 4 Max m˚albetyg: 3 3 4a En funktion y ¨ar given f¨or enstaka punkter enligt
x 0 0.2 0.4 0.6 0.8
y(x) 0.100 0.668 0.822 0.459 -0.130
Ber¨akna en approximation till
0.8
R
0
y(x) dx med trapetsformeln. Samtliga funktionsv¨arden ska anv¨andas.
4b Utan att k¨anna funktionens derivator kan man uppskatta diskretiseringsfelet i integralen utan att ber¨akna n˚agra nya funktionsv¨arden. Beskriv hur man g¨or d˚a.
Uppgift 5: Programmering M˚al: 1 2 3 4
Max m˚albetyg: 3, 3 5a En institution har samlat information om antalet utexaminerade per ˚ar. Varje ˚ars exam-
ensantal ¨ar sparat i en vektor. Man har skrivit f¨oljande program f¨or att hitta det st¨orsta v¨ardet i vektorn.
function maxexam = examina(UE) maxexam = 0;
antal = length(UE);
for i = 1:antal
if UE(i) > maxexam maxexam = UE(i);
end end
Torrexekvera examina och ange vilket v¨arde funktionen returnerar givet att funktionen anropas med vektorn [1454 1200 1900], dvs
v = [1454 1200 1900];
maxexam = examina(v);
Med torrexekvera menas att du utf¨or instruktionerna i funktionen f¨or hand och skriver ned hur variablernas v¨arden f¨or¨andras.
5b Skriv den matematiska funktionen f (y, t) = −t sin(y) + tey− 5
som en funktionsfil f¨or Matlab. Kalla funktionen, och d¨armed ocks˚a filen, f¨or ickelinjekv.
Uppgift 6: Matrisinvers M˚al: 1 2 3 4 Max m˚albetyg: 4
I m˚anga till¨ampningar har man problem d¨ar man l¨oser ekvationssystem med en matris A och med m˚anga h¨ogerled, d¨ar enbart ett h¨ogerled i taget finns tillg¨angligt. En s˚adan till¨ampning
¨
ar ber¨akning av matrisinvers. Man brukar visserligen f¨ors¨oka undvika att explicit ber¨akna matrisinversen, men ibland ¨ar man ¨and˚a tvungen att g¨ora detta. Om man har en n × n- matris A vars invers ska ber¨aknas explicit, s˚a kan denna ber¨akning g¨oras genom att man l¨oser ekvationssystemet med n olika h¨ogerled b1, b2, . . . , bn. Varje h¨ogerled ¨ar en enhetsvektor, dvs
b1=
1 0 ... 0
b2=
0 1 ... 0
· · · bn=
0 0 ... 1
Beskriv hur detta kan g¨oras p˚a ett effektivt s¨att genom att ge en ¨overgripande algoritm f¨or problemet, d¨ar slutresultatet ska vara en matris inneh˚allande inversen A−1. Dessutom, utg˚aende fr˚an din algoritm, ge en formel f¨or ungef¨arligt antal operationer i ber¨akningen. Du beh¨over inte beskriva alla eventuella delalgoritmer, utan det ¨ar den ¨overgipande algoritmen som ¨ar intressant. Algoritmen ska klara av det generella problemet, dvs med vilka h¨ogerled som helst och d¨ar inte alla h¨ogerled n¨odv¨andigtvis m˚aste vara tillg¨angliga p˚a en g˚ang.
Uppgift 7: Kvadraturformel M˚al: 1 2 3 4
Max m˚albetyg: 4/5 Du har tillg˚ang till en Matlab-funktion med funktionshuvudet
function Q = quadrature4(func, a, b, n)
%QUADRATURE4 Gauss-Legendre kvadratur
%
% Q = QUADRATURE4(FUNC,A,B,N) uppskattar en integral I med hj¨alp av
% Gauss-Legendre kvadratur, f¨or vilken
% I = QUADRATURE4(FUNC,A,B,N) + C*h^4 + O(h^6)
% f¨or n˚agon konstant C.
%
% Funktionsparametrar:
%
% FUNC -- ett handtag till en Matlabfunktion som motsvarar integranden.
% A, B -- best¨ammer integrationsintervallet [A, B]
% N -- antalet delintervall
Dina kollegor tolkar hj¨alptexten som att funktionen uppskattar en integral med hj¨alp av en s˚a kallad Gauss–Legendre kvadraturformel Q4(h), s˚a att
Z b a
f (x)dx = Q4(h) + Ch4+ O(h6) d¨ar C ¨ar en konstant.
Med Q4(h) som utg˚angspunkt, skriv upp en metod med h¨ogre noggrannhetsordning ¨an Q4(h). Implementera metoden som en Matlab-funktion med funktionshuvudet
function Q = quadraturex(func, a, b, n)
d¨ar parametrarna har motsvarande betydelse som f¨or quadrature4. Visa vilken noggrannhet- sordning den nya metoden har.