«

»

apr 16

Harmonisk svängning – matematisk modellering med programmering

Jag har konstruerat ett lektionsexempel för hur programmering kan användas för modellering i kursen matematik 5.

Centralt innehåll

  • Strategier för att ställa upp och tolka differentialekvationer som modeller för verkliga situationer.  
  • Användning och lösning av differentialekvationer med digitala verktyg inom olika områden som är relevanta för karaktärsämnena.
  • Strategier för matematisk problemlösning inklusive modellering av olika situationer, såväl med som utan digitala verktyg och programmering.
  • Matematikens möjligheter och begränsningar som verktyg i dessa situationer samt digitala verktygs möjligheter och begränsningar vid problemlösning.

Lektionsmål

  • Kunna använda och förstå Eulers stegmetod
  • Att använda programmering som verktyg vid modellering

Lektionslängd

90 minuter

Svårighetsgrad (1-5)

4

Elevens förkunskaper

  • Känna till vad en differentialekvation är
  • Kunna formulera differentialekvationer
  • Newtons 2:a lag från Fysik 1. Hookes lag från Fysik 2, eller en förklaring av läraren under lektionen.

Programmeringsbegrepp

  • Iteration
  • listor
  • plottning av punkter

Genomgång i helklass (15 minuter)

Eulers stegmetod är en lösningsmetod där man approximerar lösningen till en differentialekvation till en bitvis linjär funktion. Man utgår i varje steg från en punkt och går från punkten längs en rät linje med ett k-värde som ges av derivatan till en ny punkt. Denna nya punkt bildar startpunkt i nästa steg. Modellen blir därför beroende av steglängden. För att kunna göra en sådan modell måste en startpunkt och uttryck för derivatan måste vara känd. Denna modell kan formuleras med en ekvation

y_{n+1}=y_n+y_n' \cdot \Delta x

Exempel

Låt y'=0.2y med startpunkt (0,1).Vad blir funktionsvärdet då x=1 om vi delar in intervallet i 4 steg, x=0.25?

y_{n+1}=y_n+y_n' \cdot \Delta x

y_1=1+(0.2 \cdot 1)\cdot 0.25 = 1.05

y_2=1.05+(0.2 \cdot 1.05)\cdot 0.25 = 1.1025

y_3=1.1025+(0.2 \cdot 1.1025)\cdot 0.25 = 1.157625

y_4=1.157625+(0.2 \cdot 1.157625)\cdot 0.25 = 1.21550625

Alltså är y(1) \approx 1.216 (Löser man differentialekvationen får man y(1)=1.221)

Förevisa en uppställning av en vikt med massan m=100 g fäst i en fjäder med fjäderkonstant k=10 N/m som är upphängd i ett stativ. Fjäderkonstanten är ett mått på fjäderns styvhet – hur mycket kraft som krävs för att dra ut eller trycka ihop den 1 m.

Bild tagen från Wikimedia commons

 

  1. Förevisa jämviktsläget (vikten är stilla och hänger bara i fjädern),
  2. med vikten stilla men neddragen med hjälp av en hand samt
  3. i rörelse (vikten svänger vertikalt i fjädern).

Kan även genomföras med simulering där Fjäder 1 i simuleringen har just k=10 N/m. För en noggrannare förklaring av fysiken för de som inte är fysiklärare finns en wikipediaartikel.

Förklara att uppgiften är att göra en modell för fjäderns rörelse (odämpad harmonisk svängning, dvs svängningens amplitud är oförändrad) med hjälp av Eulers stegmetod.

EPA: (10 minuter)

Genomför en övning i form av en EPA (Enskilt-par alla). Eleverna tänker för enskilt 2 minuter, diskuterar sedan i par i 4 minuter och deras tankar sammanfattas sedan i en lärarledd helklassdiskussion under 4 minuter. Diskutera kring följande frågor:

  1. Vilka krafter finns på en vikt fäst i en fjäder där vikten är i jämviktsläget? Vad blir kraftresultanten?
    (Konstant tyngdkraft nedåt, F=m\cdot g, och konstant fjäderkraft (från Hookes lag) uppåt, F=-k\cdot y_0, där y_0 är sträckan fjädern drogs ut när vikten hängdes på. Kraftresultanten blir skillnaden mellan fjäderkraften och tyngdkraften, F_R=m\cdot g-k\cdot y_0=0 då tyngdkraft och fjäderkraft är lika stora, det ser vi på grund av att vikten är i vila)
  2. Vilka krafter finns på en vikt fäst i en fjäder där vikten inte är i jämviktsläget och rör på sig? Vad blir resultantkraften?
    (Konstant tyngdkraft nedåt och varierande fjäderkraft. Kraftresultanten blir skillnaden mellan fjäderkraften och tyngdkraften, den är ekvivalent med fjäderkraften med avseende på jämviktsläget i fråga 1, F_R=m\cdot g - k\cdot (y_0-y)=0-k\cdot y = -k\cdot y,
    där y är avståndet från jämviktsläget)

Grupparbete (5 minuter)

I grupper om 4 ska eleverna formulera en differentialekvation utifrån fråga 2 ovan samt formulera realistiska begynnelsevillkor utifrån uppställningen.

(Kraftresultanten från fråga 2 är den kraft som enligt Newtons andra lag ska accelerera vikten. Uttryckt i formler får vi att m\cdot a=F_R \Leftrightarrow m\cdot a = F_{fjäder} \Leftrightarrow m\cdot a = -k \cdot y \Leftrightarrow y''=\frac{k}{m}\cdot y, sista ekvivalensen får vi från att accelerationen är andraderivatan av läget)

Helklassammanfattning (5 minuter)

Sammanfatta elevernas grupparbete så att alla grupper har en differentialekvation och begynnelsevillkor.

Fortsatt grupparbete: (40 minuter)

Algoritmformulering och test av modellen

  1. Hur ska stegmetoden ändras för att passa differentialekvationen?
    (Differentialekvationen y''=\frac{k}{m}\cdot y leder till modellen:
    y_{n+1}=y_n+y_n'\cdot \Delta t

    y_{n+1}'=y_n'+y_n'' \cdot \Delta t=y_n'+(-\frac{k}{m}\cdot y_n)\cdot \Delta t
    t_{n+1}=t_n+\Delta t
    i modellen kan man tänka sig att man även skriver y_n' som v_n
  2. Modellering. Eleverna gör olika beroende på om de kan programmera eller inte.
    1. Använd stegmetoden för att skriva ett program som ritar upp ett yt-diagram mellan t=0 s och t = 2 s.
    2. Studera programmet (Jupyter Notebook via Google Colaboratory) och försök förstå vad det gör och hur det fungerar genom att ha ett utforskande samtal där ni i tur och ordning förklarar för varandra hur ni tror programmet fungerar.  (Dela lämpligtvis filen genom Google Classroom så att eleverna får var sin kopia av programfilen.)

      Alternativt att eleverna konstruerar ett kalkylark som ritar upp ett yt-diagram mellan t=0 s och t=2 s. Kalkylarket som är länkat uppdateras dock långsamt vid ändring av ingångsvärden eller steglängd.
  3. Testa i modellen och variera steglängden. (t ex n=10, 100, 1000, 10000). Vilken frekvens svänger vikten med?

Helklassdiskussion (10 minuter)

Diskutera utifrån elevernas modellering

  1. Vilken steglängd är lämplig?
  2. Vilka styrkor/brister har modellen?
  3. Hade det varit lämpligt att använda Eulers stegmetod och göra beräkningar för hand?

Elevutvärdering i form av en exit ticket (5 minuter)

Elever svarar enskilt på frågorna t ex med hjälp av ett Googleformulär:

  • Detta lärde jag mig idag:
  • Detta vill jag lära mig mer om:
  • Detta saknade jag på lektionen idag:
  • Jag tycker att jag uppfyllde lektionsmålen idag:
    Instämmer helt, Instämmer delvis, Instämmer inte alls.
  • Jag tycker att programmering är ett lämpligt verktyg för lösning av uppgiften
    Instämmer helt, Instämmer delvis, Instämmer inte alls.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Du kan använda följande HTML etiketter och attribut: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>