Numeriska lösningar till differentialekvationer i Python

För att orientera mig om hur differentialekvationer kan lösas numeriskt i Python gjorde jag ett Jupyter-dokument som tar upp och löser flera av de typer av ordinära differentialekvationer som kommer upp i gymnasiets matematik- och fysikkurser. Dokumentet blir inte så bra att föra över i WordPress-miljö, så jag har lagt det här istället.

Jag använder mig av funktionen odeint() som finns i biblioteket SciPy. Funktionen genererar listor med godtycklig noggrannhet som sedan kan plottas. I dokumentet har jag beskrivit hur man går tillväga.

En av de grafer jag genererade var följande, som beskriver ett föremåls fall i gravitationsfältet enligt olika modeller med luftmotstånd.


AirDrag

Jag hoppas att dokumentet kan inspirera någon eller att det på något annat sett kommer till nytta!

Ett his(s)keligt mätexperiment

Jag har gjort accelerations- och tryckmätningar i en hiss med hjälp av sensorerna i en mobiltelefon och åskådliggjort resultatet med Python och Jupyter. Läs om undersökningarna och resultaten här.

Hissmätningsillustration
Utsnitt av redogörelsen

I ett tidigare inlägg har jag visat hur accelerationssensorerna i en mobiltelefon kan användas för att åskådliggöra olika accelerationsförlopp. Jag har nu byggt vidare på detta genom att jag tog med mig mobilen på en hisstur och såg vad jag kunde få ut av såväl accelerations- och tryckdata. Det blev mer, och bättre, än vad jag hade väntat mig. För att redovisa resultatet använde jag verktyget Jupyter, som är en webbaserad plattform för att köra Pythonkod och även för att visa grafer och bilder. Det blev som en typ av rapport.

Läs vad jag fick ut av det här, det är Jupyter-dokumentet i sin helhet.

För att anknyta till titeln, Ett his(s)keligt mätexperiment, så är nog själva Pythonkoden det enda hiskeliga. När jag idag publicerar detta var det mer än ett år sedan jag gjorde något med koden, och när jag tittar på den ser jag att jag skulle behöva flera timmar för att sätta mig in i den igen (och då kanske jag skulle gjort den på ett annat sätt). Som tur är är koden gömd i dokumentet, men den går att ta fram med hjälp av en knapp överst i dokumentet.