Kommentarer till 2.6 och 2.13
Jag
har nu rättat uppgifterna i kapitel två. Flera lösningar är snygga och
korrekta men många kursdeltagare har fått returer på deluppgifter. Här
kommer några ytterligare kommentarer och tips.
I
grundläggande matematik studerar man ofta funktionsgrafer. Det är
vanligt att man då är intresserad av formen och egenskaperna hos
en parabel, en hyperbel etc. Man fäster normalt mindre avseende vid
graderingarna utmed x- och y-axel. I tillämpningar (denna kurs t.ex)
är det mycket viktigt att veta vilka storheter (tid, massa, kraft,
etc) man har utmed axlarna och vilka fysikaliska enheter som används.
Tolkningen av resultaten beror enormt mycket på om en enhet utmed
x-axeln betyder en yocto-sekund (10^-24 s) eller en yotta-sekund (10^24
s).
När jag ser en plot i en vetenskaplig artikel (biofysik
för närvarande) tar jag först reda på vilka storheter och enheter som
används utmed axlarna. Vissa kemiska processer sker mycket snabbt, ända
ner till femto-sekunder (10^-15 s) men även långsamt på
giga-sekunder (decennier, mänskligt åldrande). Därefter brukar jag
studera formen på kurvan. Är den växande, avtagande, periodisk, närmar
den sig en konstant nivå? En sådan analys är bra att göra även när du
får upp grafer i Geogebra.
Flera har tagit fel på enhet i
2.6. I verkligheten är det ju viktigt om det tar 10 dagar, 10 månader
eller 10 år för föroreningarna att nå en icke hälsofarlig nivå.
Några
har lämnat in plottar där alkoholhalten, BAL, stiger efter tre drinkar,
men där sedan BAL stabiliserar sig på den högsta nivån. Detta är
uppenbarligen orimligt, levern förbränner ju ungefär 8 gram / timme. Om
man får uppenbart orimliga resultat skall man inte skicka in lösningen
utan leta fel. Det kan vara fel på flera ställen, modellen kan vara
dålig. Det är nu inte så sannolikt i en kurs om modellering, men det
kan ju hända i verkligheten. En vanlig felkälla är att man räknar på
fel problem, differentialekvationerna är inte korrekta. Några få har
använt helt felaktiga ekvationer, vanligt är dock att konstanterna
(I-värdet t.ex) är felaktigt. Det är också vanligt med felaktiga
begynnelsevärden. Mycket ovanligt är dock felaktig användning av
Geogebra, vilket är positivt.
För att minska risken för fel är det lämpligt att förenkla och införa bra beteckningar. I 2.6b skall man ju lösa DE
C' = (F/V) c_in - (F/V) C, C(0) = 10^6 (ett typiskt värde från figuren).
när både F och c_in är tidsberoende.
Många har skrivit in rätt hemska uttryck och en del har gjort fel
(typiskt parentesfel). Så här kan man göra i stället (vilket några få
har gjort):
C' = (F/V) c_in - (F/V) C = (F/V) (c_in - C).
Det finns ju ingen anledning att skriva in F/V två gånger. F(t) och V
har en gemensam faktor, 10^6, som man kan förkorta bort. Eftersom man
skall efterlikna figur 2.8, i det tidsberoende fallet, är det rimligt
att ha samma enhet efter y-axeln som man har i figuren. Enheten är 10^6
no. / m^3. Det är därför lämpligt att ändra skalningen på lösningen C.
Det gäller ju
C' / 10^6 = (F/V) (c_in / 10^6 - C / 10^6), C(0) = 10^6 / 10^6 = 1
Eftersom
även c_in innehåller skalfaktorn 10^6, slipper man ytterligare ett
stort tal. Med dessa nya, omskalade C och c_in får man en mycket
enklare differentialekvation. Om vi använder samma namn på de omskalade
funktionerna så kan problemet skrivas
C' = (F/V) (c_in - C), C(0) = 1
där
F och c_in inte längre har skalfaktorn 10^6 och där V = 28. Observera
att man inte alltid kan skala om på detta enkla vis. Om vi har
differentialekvationen C' = C^2 och delar med skalfaktorn s får vi C' /
s = s (C / s)^2.
För att få ännu enklare uttryck i
Geogebra kan man införa funktionerna F(x) samt c_in(x). Jag har skrivit
x och inte t eftersom Geogebra vill att lösningen har namnet y(x). I
LösODE-kommandot kan man då referera till F(x) och c_in(x) och det
blir väldigt enkelt att se om man har skrivit rätt. Här ett litet
exempel.
Vi vill lösa y'(x) = x - y(x) / exp(-|sin(2 x)|), y(0) = 1, 0 < x < 5. I Geogebra kan vi då skriva:
f(x) = exp(-abs(sin(2 x)))
LösODE[x - y / f(x), 0, 1, 5, 0.1]
En
sista kommentar om 2.6b: flera har dessvärre gjort följande.
Differentialekvationen C' = (F/V) (c_in - C) har den allmänna lösningen
C = c_in - (c_in - c_0) exp(-Ft/V) när c_in och F är konstanter.
Man kan inte stoppa in godtyckliga funktioner F(t), c_in(t) i
differentialekvationen och hoppas på att lösningen fortfarande har
samma utseende. I själva verket torde man inte kunna skriva ner
lösningen i exemplet när F och c_in är tidsberoende, utan man måste
använda LösODE-kommandot för att beräkna en approximativ lösning. Om
man tvekar huruvida en funktion är en lösning eller ej kan man alltid
testa genom att derivera.
En sista kommentar om 2.13.
Systemet av differentialekvationer har ett speciellt utseende. Den
första DE beror enbart av C_1 varför den kan lösas separat. En del har
gjort det och har sedan löst den andra DE med LösODE. Det är OK och jag
har godkänt sådan lösningar. Vanligare är nog att man löser systemet
(med NSolveODE) direkt och man måste kunna det i de kommando övningarna.