Ferdig labrapport: programmer en enkel bevegelsessimulering i Python som oppdaterer fart og posisjon i hvert tidssteg, og sammenlign resultatet med teori og målinger.
Faglig kvalitetssikret av lærere og toppstudenter · Følger læreplanen (LK20) · Sist oppdatert 2026-09-09
Du trenger ikke en avansert modell for å simulere bevegelse – bare en løkke som oppdaterer farten og posisjonen litt om gangen. Med noen få linjer Python kan du gjenskape et fritt fall eller et kast, plotte banen og sammenligne med både teori og virkelige målinger.
Mange elever søker etter programmering bevegelse Fysikk 1, Python-simulering av fart og posisjon, Euler-metoden bevegelse, numerisk fysikk forsøk og modellere kast i Python når de skal levere labrapport eller forberede seg til muntlig-praktisk. Programmering er et eget kompetanseområde i LK20, og dette forsøket viser hvordan du kan bruke kode til å utforske fysikk i stedet for bare å sette tall inn i ferdige formler.
Ideen er enkel: vi deler tiden inn i mange små steg Δt og oppdaterer tilstanden i hvert steg. Først regner vi ut den nye farten av akselerasjonen, deretter den nye posisjonen av farten. Denne steg-for-steg-metoden kalles Euler-metoden, og den er kjernen i nesten all numerisk fysikk. Styrken er at den også fungerer når kreftene endrer seg underveis – for eksempel ved luftmotstand – der de vanlige bevegelseslikningene ikke lenger gjelder. Forsøket knytter dermed Fysikk 1-temaet rettlinjet bevegelse sammen med programmering, og lærer deg å vurdere når en modell er god nok.
Dette søker elever ofte hjelp tilLage en enkel numerisk simulering av bevegelse med konstant akselerasjon i Python, og sammenligne den simulerte banen med teoretiske formler og målte data.
En steg-for-steg-oppdatering av fart og posisjon gir tilnærmet de samme verdiene som de analytiske formlene v = v₀ + at og s = v₀t + ½at², og avviket blir mindre når tidssteget krymper.
For et fritt fall fra ro med g = 9,81 m/s² og Δt = 0,01 s:
| Tid (s) | Simulert s (m) | Formel s (m) |
|---|---|---|
| 0,5 | 1,24 | 1,23 |
| 1,0 | 4,93 | 4,91 |
| 1,5 | 11,06 | 11,04 |
Den simulerte posisjonen ligger svært nær formelverdien. Avviket skyldes at metoden tar diskrete steg. Krymper du Δt, blir simuleringen enda nærmere de analytiske verdiene.
Bevegelse med konstant akselerasjon kan løses analytisk med v = v₀ + a·t og s = v₀·t + ½·a·t². I en numerisk simulering deler vi i stedet tiden inn i små steg Δt og oppdaterer trinnvis (Euler-metoden):
v_ny = v + a·Δt og s_ny = s + v·Δt
Hvert steg antar at farten er konstant gjennom det korte intervallet. Det gir en liten feil, men jo mindre Δt er, desto mindre blir feilen og desto bedre stemmer simuleringen med fasit. Styrken ved metoden er at du kan legge til luftmotstand eller varierende krefter der de analytiske formlene ikke lenger gjelder.
Den oppdaterer først farten med a·Δt og deretter posisjonen med v·Δt. Slik bygges bevegelsen opp steg for steg fra starttilstanden.
Hvorfor avviker simuleringen litt fra formelen?Fordi metoden antar konstant fart i hvert lille tidssteg. Det gir en diskretiseringsfeil som krymper når Δt blir mindre.
Hva er fordelen med simulering framfor formlene?Du kan modellere situasjoner uten enkel analytisk løsning, for eksempel bevegelse med luftmotstand eller krefter som endrer seg med tid eller fart.
Nei. Noen få linjer med en løkke holder. Poenget er å forstå hvordan fart og posisjon oppdateres steg for steg.
Hvorfor bruke simulering når formlene finnes?Fordi simulering også takler tilfeller uten enkle formler, som luftmotstand eller krefter som varierer.
Hvordan vet jeg at koden er riktig?Sammenlign med en kjent analytisk løsning, for eksempel fritt fall. Stemmer de, er metoden implementert riktig.
På muntlig-praktisk vil sensor høre at du forstår hva koden faktisk gjør, ikke bare at den kjører. Disse punktene løfter svaret fra godt til svært godt:
I en numerisk simulering er den viktigste «feilkilden» diskretiseringsfeilen. Fordi metoden antar at farten er konstant gjennom hvert tidssteg, oppstår det et lite avvik i hvert steg, og avvikene hoper seg opp utover i banen. Dette er ikke en målefeil, men en konsekvens av at vi løser problemet trinnvis. Et godt grep er å kjøre simuleringen med to eller tre ulike Δt og vise at avviket mot den analytiske løsningen krymper når Δt blir mindre.
I tillegg kommer små avrundingsfeil fordi datamaskinen regner med flyttall med begrenset presisjon, men disse er som regel ubetydelige sammenlignet med diskretiseringsfeilen. Feil startverdier eller feil fortegn på akselerasjonen gir derimot store og åpenbare avvik, og er verdt å dobbeltsjekke. For å vurdere om modellen er til å stole på, sammenligner du den med en kjent analytisk løsning som fritt fall – stemmer de godt, kan du bruke metoden også der formlene ikke finnes.
Jeg deler tiden inn i mange små steg Δt. I hvert steg oppdaterer jeg først farten ved å legge til akselerasjonen ganget med tidssteget, v ← v + a·Δt, og deretter posisjonen ved å legge til farten ganget med tidssteget, s ← s + v·Δt. Slik bygger jeg opp hele bevegelsen fra starttilstanden, steg for steg. Metoden gir et lite avvik fordi farten egentlig endrer seg litt gjennom hvert steg, men avviket blir mindre når jeg gjør Δt mindre. Fordelen med simulering er at jeg også kan legge til luftmotstand eller krefter som varierer, der de vanlige bevegelseslikningene ikke lenger gjelder.
I en labrapport om bevegelsessimulering bør du vise selve oppdateringen tydelig: v ← v + a·Δt og s ← s + v·Δt i en løkke. Forklar hvilke startverdier du brukte (posisjon, fart og akselerasjon), hvilket tidssteg Δt du valgte, og hvor lenge simuleringen gikk. Legg ved et plott der den simulerte banen og den analytiske formelen s = v₀t + ½at² er tegnet i samme figur, slik at leseren ser hvor godt de stemmer overens.
I drøftingen er tidssteget det viktigste. Vis gjerne en liten tabell over avviket for to eller tre ulike Δt, så det blir tydelig at feilen krymper når Δt blir mindre. Forklar at avviket kommer av at metoden antar konstant fart gjennom hvert intervall, og nevn at flyttall gir en bitte liten avrundingsfeil i tillegg. Avslutt med å peke på styrken ved metoden: den lar deg legge til luftmotstand eller andre krefter der formlene ikke lenger gjelder, og da blir simuleringen den eneste praktiske veien til svaret.
Øv på programmeringsforsøket og resten av Fysikk 1 med oppgaver, eksamenstrener og kapittelgjennomgang.
Til eksamenstreneren