• No results found

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A

N/A
N/A
Protected

Academic year: 2022

Share "Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

L¨ osningar till Tentamen i Ber¨ akningsvetenskap II, 5.0 hp, 2010-03-15

Del A

1. (a) Till¨ampa Eulers fram˚atdifferensmetod p˚a ekvationen y0(t) − cos y(t)(y(t) + 1) = 0, y(0) = 0.

Ta ett steg med stegl¨angd h = 0.1. Vi b¨orjar med att st¨alla upp ekvationen p˚a formen

y0(t) = f (t, y) = cos y(t)(y(t) + 1), y(0) = 0.

Eulers fram˚atdifferensmetod ges d˚a av

yi+1 = yi+ hf (ti, yi) = yi+ h cos yi(yi+ 1), y0 = 0.

Ett steg:

y1 = y0+ h cos y0(y0+ 1) = 0 + 0.1 cos(0)(0 + 1) = 0.1.

(b) Explicita metoder kr¨aver mindre arbete i varje tidssteg ¨an implicita metoder. Om stegl¨angden f¨or att uppfylla ett visst noggrannhetskrav

¨

ar mindre ¨an stegl¨angden f¨or att uppfylla stabilitetskravet kan det d¨arf¨or l¨ona sig med en explicit metod. Detta vore typiskt fallet f¨or icke-styva problem, d¨ar stabilitetskravet inte ¨ar lika strikt som f¨or styva problem.

2. Stabilitetsanalys f¨or trapetsmetoden. Stabilitet analyseras med hj¨alp av testekvationen, y0(t) = λy(t). Trapetsmetoden :

yi+1= yi+ h

2(f (ti, yi) + f (ti+1, yi+1)). (1) Ins¨attning av testekvationen i (1) ger

yi+1 = yi+h

2(λyi+ λyi+1) ⇒ (1 − λh

2 )yi+1 = (1 +λh 2 )yi. Stabilitetsvillkoret blir d˚a

|1 + λh2 |

|1 −λh2 | ≤ 1,

(2)

⇒ (1 + h

2<(λ))2+ (h

2=(λ))2 ≤ (1 − h

2<(λ))2+ (h

2=(λ))2.

Eftersom vi betraktar l¨osningar till testekvationen som ¨ar avtagande, dvs vi har <(λ) < 0, f˚ar vi

⇒ (1 + h

2<(λ))2+ (h

2=(λ))2 = 1 + h<(λ) + h2

4 <(λ)2+h2 4 =(λ)2

≤ 1 − h<(λ) + h2

4<(λ)2+ h2

4 =(λ)2 = (1 − h

2<(λ))2+ (h

2=(λ))2.

Stabilitetskravet ¨ar uppfyllt f¨or alla h och alla λ med <(λ) < 0, dvs trapetsme- toden ¨ar ovillkorligt stabil.

3. Formulera en Monte Carlo-metod i Matlab, given en funktion sim(x) som utf¨or en stokastisk simulering.

N = input(’Antal simuleringar: ’); % L˚at anv¨andaren ange antal simuleringar x = input(’Ange indata: ’); % L˚at anv¨andaren ange indata

Y = zeros(1,N); % Skapa vektor f¨or att spara

% l¨osningen for i=1:N

y = sim(x); % utf¨or N st stokastiska simuleringar Y(i) = y; % spara resultatet till varje simulering end

medel = mean(Y); % ber¨akna medelv¨ardet

4. err(i) uppskattade felet n¨ar N(i) ber¨akningspunkter anv¨andes.

(a) Formulera om ansatsen f el(N ) = cNp, sa att c och p kan best¨ammas med minstakvadratanpassning med r¨at linje.

Logaritmering av ansatsen ger

log(f el(N )) = log(cNp) = log(c) + log(Np) = log(c) + plog(N ).

c och p kan d˚a best¨ammas genom att till¨ampa minstakvadratanpass- ning med r¨at linje p˚a

f el = ˜˜ c + p ˜N ,

d¨ar ˜f el = log(f el), ˜c = log(c) och ˜N = log(N ).

(b) Matlab-kommandot som genomf¨or minstakvadratanpassningen enligt ovan ¨ar polyfit och anropas:

(3)

px = polyfit(log(N),log(err),1); % px = [p log(c)]

I det allm¨anna fallet ges minstakvadratanpassning med r¨at linje till givna data x och y av

px = polyfit(x,y,1);

5.

(a) Initialv¨ardesproblem/Begynnelsev¨ardesproblem.

(b) Att metoden ¨ar stabil.

(c) u ska vara slumpad ur sannolikhetsf¨ordelningen som ¨ar uniformt f¨ordelad i intervallet [0, 1].

(d) Normalekvationerna.

Del B

6. Kemiskt experiment upprepat fem g˚anger, volymen V och antal mol n uppm¨att.

V n

1 0.067 0.0027 2 0.098 0.0038 3 0.051 0.0021 4 0.056 0.0024 5 0.062 0.0024

Temperaturen var T = 294 K, trycket p = 103.8 kPa. Anv¨and data och allm¨anna gaslagen, pV = nRT , till att best¨amma gaskonstanten, R. Alla data ska utnyttjas. Detta utesluter interpolation eftersom det finns tv˚a v¨arden p˚a V f¨or n = 0.0024, och dessa inte kan uppfyllas samtidigt. Med minstakvadratanpassning med r¨at linje kan v¨ardet p˚a R best¨ammas ur

pV = nRT, (2)

med T = 294, p = 103.8, dvs ett linj¨art samband med avseende p˚a R

(4)

d¨ar konstanten ska vara noll. Problemuppst¨allningen med det ¨overbest¨amda systemet (2) blir

AR = b, d¨ar b = pV =

6.9546 10.1724

5.2938 5.8128 6.4356

, A = nT =

0.7861 1.1247 0.6289 0.7041 0.7041

 .

R best¨ams ur normalekvationerna

ATAR = ATb, som h¨ar blir

ATA = 3.2625, ATb = 28.8288.

D˚a normalekvationerna l¨oses f˚as ett approximativt v¨arde p˚a gaskonstan- ten R = 8.84 (8.8365).

7. Ett steg i Gillespies algoritm slumpar fram numret p˚a n¨asta reaktion.

(a) Visa med handr¨akning hur det steget g˚ar till, f¨or exemplet u = 0.371, w = [3 8 2 14 5].

Den kumulativa f¨ordelningsfunktionen ges av F (w) = [

1

X

i=1

wi

2

X

i=1

wi

3

X

i=1

wi

4

X

i=1

wi

5

X

i=1

wi] = [3 11 13 27 32].

Den normaliserade kumulativa f¨ordelningsfunktionen ˜F = P5F

i=1wi blir F (w) = [0.0938 0.3438 0.4062 0.8438 1.0000].˜

N¨asta reaktion r ges av

F (w = w(r − 1)) < u ≤ ˜˜ F (w = w(r)), och i detta fall

0.3438 = ˜F (w = w(2)) < 0.371 ≤ ˜F (w = w(3)) = 0.4062,

⇒ r = 3.

(b) Skriv Matlabfunktion r = next reaction(w,u) som tar fram n¨asta reaktion med Gillespies algoritm.

(5)

function r = next_reaction(w,u) C = cumsum(w);

r = find(C >= u*C(end),1);

8. Best¨am v¨ardena f¨or Heuns metod utg˚aende fr˚an v¨ardena f¨or Eulers metod i tabellen nedan och skriv in dessa i tabellen. h ¨ar stegl¨angd, te total ber¨akningstid, n antal tidssteg och ts ber¨akningstid per steg.

Utr¨aknade v¨arden ¨ar insatta i tabellen med fet stil.

h te n ts

Eulers metod: 0.0001604 0.1075398 62364 0.0000017 Heuns Metod: 0.0421138 0.0008058 237 0.0000034

Sluttiden T best¨ams som antalet tidssteg g˚anger stegl¨angd f¨or Eulers metod till

T = h ∗ n = 0.0001604 ∗ 62364 ≈ 10.0032,

dvs simuleringer k¨ors till T = 10. D˚a stegl¨angden f¨or Heuns metod ¨ar k¨and kan antalet tidssteg best¨ammas enligt

nHeun = T

hHeun = 10

0.0421138 ≈ 237.

Vidare kan man anta att Heun kr¨aver dubbelt s˚a mycket arbete som Euler i varje steg, eftersom tv˚a funktionsanrop g¨ors i varje steg j¨amf¨ort med Eulers enda funktionsanrop. Detta leder till att

ts,Heun= 2 ∗ ts,Euler = 2 ∗ 0.0000017 = 0.0000034.

Slutligen kommer den totala ber¨akningstiden uppg˚a till antal tidssteg multi- plicerat med tids˚atgangen f¨or varje steg

te,Heun= nHeun∗ ts,Heun= 237 ∗ 0.0000034 ≈ 0.0008058.

References

Related documents

Man kan faktiskt g¨ora ett konfidensintervall f¨or medianen med konfidensgrad minst lika med 1 − α helt utan n˚ agra som helst antaganden om den bakom- liggande f¨ordelningen

Po¨ angen p˚ a godk¨ anda duggor summeras och avg¨ or slutbetyget.. L¨ osningarna skall vara v¨ almotiverade och

[Tips: Faktorisera polyno-

L˚ at y(t) vara andelen av populationen som ¨ar smittad efter tiden t dygn, r¨aknad fr˚ an uppt¨ack- ten... Observera att ¨amnets koncentration ¨ar samma som m¨angden av

Obs: Om sanningsm¨ angden f¨ or sammansatta utsagor (konjunktioner, disjunktioner och negationer).. Obs: Mera om ekvivalenser och

Best¨ am ekvationen f¨ or normalen till ytan i

Visa att det finns en och samma vektor (olika nollvektorn) som ligger i alla

L¨ angden (mm) av bultarna varierar p˚ a grund av ett slumpm¨ assigt fel som antas vara normalf¨ ordelat kring 0 med standardavvikelsen σ = 0.5 vilket motsvarar precisionen f¨