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.