Dynamisk simulering

Hans-Petter Ulven

Stikkord:


Avkjøling av kaffekopp

I en fysikktime fikk jeg en elev til å notere temperaturen i en kaffekopp hvert femte minutt.
Resultatet ble slik:

Tid	Temp
[min]	[gr.C]
0	86
5	72
10	64
15	57.5
20	53
25	48
30	45
35	42
40	39.5
45	37
50	35
55	33.5
60	32
65	31
70	30
75	28.5
80	27
85	27
90	26

Veiledning

Webstart av siste versjon av GeoGebra:

Innhenting av måledata fra andre programmer. (Nettside som dette, andre regneark, tekstfiler,...)

  1. Start GeoGebra pre-release med knappen over.
  2. Bruk Rediger, Kopi til å ta en kopi av tallene i tabellen over.
  3. Gå til regnearket i GeoGebra, velg en celle, høyreklikk og velg: Lim inn.
  4. Velg alle tallene i de to tallkolonnene du da får, høyreklikk, og velg: Lag liste med punkter.
    Da får vi noe slikt:

Regresjon og manipulering av data

  1. Dette ser ut som en eksponentialkurve, la oss se hva en eksponentiell regresjon gir oss.
    Men, da kurven flater ut på romtemperaturen og ikke langs x-aksen, må vi kjøre regresjon på tall som er 20 grader lavere.
    Dette gjøres enkelt ved å trekke 20 fra y-verdien i alle punktene i listen: L_2=L_1-(0,20) !
  2. Så kjører vi en eksponentiell regresjon: g(x)=RegEksp[L_2]
  3. Og får vår ønskede funksjon med å legge til 20 igjen: f(x)=g(x)+20


Dynamisk simulering

Dette høres avansert ut, men er egentlig lettere enn all den kompliserte matematikken med derivasjon og differensialligninger.
Jeg tror denne type iterative prosesser med fordel kunne introduseres mye tidligere for elevene enn det gjøres i skolen idag,
og har stor tro på at dette ville gjort introduksjonen av integrasjon, derivasjon og differensialligninger mye lettere senere.

Newton fant ut at temperaturfallet per. tidsenhet for et system var proporsjonalt med temperaturforskjellen i forhold til utsiden av systemet,
hvilket kan formuleres slik:

Temperaturendring/tidsintervall = - k (Temperatur - Romtemperatur)

De som driver med dynamisk simulering, formulerer formelen slik:

Temperaturendring = - k (Temperatur - Romtemperatur) tidsintervall

og lager følgende rekursive modell:

Ny temperatur = Gammel temperatur + Temperaturendring

Dette gir følgende modell:

 

Startverdier:

T0 =86

t0 =0

Rekursjon:

Tny = Tgammel - k (Tgammel - Trom) tidsintervall

tny = tgammel + tidsintervall

Da er vi klar for å la regnearket i GeoGebra gjøre arbeidet for oss:

  1. Vi legger inn startverdien for temperaturen som glider: T_0=86
  2. Konstantene er også kjekke å ha som glidere: k=0.1 og T_r=20
  3. Legger inn startverdiene for t og T i A1 og B1: A1=0 og B1=T_0
  4. Rekursjonen legges så inn i:
    C1=-k*(B1-T_r), A2=A1+3 og B2=B1+C1
    (Vi bruker 3 minutter som tidsintervall, under dette gir i hvert fall min maskin litt pusteproblemer...)
  5. Så kopierer vi A, B og C kolonnen 90 ganger nedover...
    (Kan ta ganske lang tid...)
  6. Så merker vi A- og B-kolonnen, høyreklikker og velger: Lag liste med punkter
  7. Til slutt kalibrer vi modellen med k, og da ser det omtrent slilk ut:


  8. d

 

Oppgaver:

1. Fritt fall

Prøv å simulere fritt fall med luftmotstand (hopp fra fly med og uten fallskjerm):

Startverdier:

v0 =0

t0 =0

Rekursjon:

vny = vgammel + ( g - k vgammel^2/g) tidsintervall

tny = tgammel + tidsintervall

2. Utslippsproblematikk

I den lille byen Renvik har familiene Rikerud og Grisk nettopp startet en kjemisk fabrikk, Splux AS, som produserer innsektmidlet KillAll. All produksjon eksporteres til fattige utviklingsland, da innsektmidlet har visse bivirkninger også for mennesker. Splux AS vil hvert år slippe ut 1200 kg gift i den tilliggende idylliske innsjøen Renviksvannet, da de ikke er interesserte i unødige utgifter på sikker destruering av produksjonsavfall.
Vi regner med at 20% av giften i sjøen hvert år forsvinner på grunn av nedbrytning og utskifting av vann i innsjøen.
a) Vi antar for enkelthets skyld at all giften slippes ut en gang i starten av året og at dette starter i å n=1. Hvor mye gift er det i sjøen i det 10de året?
c) På hvilket nivå vil giftmengden stabilisere seg etter mange år?
d) Hvor mye gift kan bedriften slippe ut i året hvis myndighetene påbyr Splux AS å sørge for at giftmengden aldri
overstiger 500 kg?

3. Utvikling av epidemi

Etter en ide av en av pionerene innen IT og matematikk fagdidaktikk, Viggo Sadolin fra Danmark.

Vi kan bruke følgende tall:

Populasjon: (P) 1000 personer  
Syke: (S) 10 personer (Personer som starter epidemien)
Kontakter pr. dag: (k) 10 personer/dag  
Sannsynlighet for å smitte ved en kontakt: (ssh) 0,08  
Sykdommens varighet: (v) 3 dager  

Noen mellomregninger på endringen i hvert trinn:

Blir syke: S*k*ssh*(Friske/P) (Egentlig litt feil, se helt til slutt for en mer korrekt utrregning av denne sannsynligheten)

Blir friske og immune (I): S/v (Hvis de syke friskmeldes jevnt, vil i gjennomsnitt S/v blir friske pr. dag.)

Parametere:

P=1000

k = 10

ssh = 0.08

v = 3

Startverdier:

S0 = 10

I0 = 0

F0 = P0 - S0 -I0

t0 = 0

Rekursjon:

Fi+1 = Fi - Si*k*ssh*(Fi/P)

Si+1 = Si + Si*k*ssh*(Fi/P) - P/v

Ii+1 = Ii + P/v

(Mer korrekt utregning av flyten "Blir Syke":

(For de som er interessert i å bruke det de har lært i sannsynlighetsregning...)

For en Frisk:

Sannsynlighet for å bli smittet i løpet av en dag med k kontakter: p=1-P(Ikke bli smittet av noen av kontaktene)

=1-(P(ikke bli smittet ved en kontakt))^k

=1-(1-P(bli smittet av en kontakt))^k

=1-(1-P(kontakt er syk)*P(bli smittet|kontakt er syk))^k

=1-(1-Syke/(Pop-1)*ssh)^k

Altså:

Blir syke: Friske*(1-(1-Syke/(Pop-1)*ssh)^k)

)