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!

Besök på CERN och ETH

Jag fick möjlighet att med skolan och tillsammans med en klass vara med på studiebesök på bl a CERN (det är de som har byggt en känd partikelaccelerator som bl a låg till grund för att den omtalade Higgs-partikeln bekräftades år 2013) och ETH  (Zürich tekniska högskola).

På CERN fick vi dels träffa forskaren Richard Jacobsson som berättade om hur partikelfysiken ligger till grund Big Bang-teorin och dels fick vi en guidning runt den detektor som heter CMS, Compact Muon Solenoid.

Fortsätt läsa ”Besök på CERN och ETH”

Tredelning av cirkelns area med två linjer

Cirkelns geometri gör att det inte alltid blir helt lätt att avgöra hur stor andel som är utskuren. Skulle man t ex dela på en pizza på tre så är jag rädd för att de som fått den gula delen i bilden nedan kommer att känna sig förfördelad. Dessutom är det en större andel kant i ytterdelarna, så snitten kanske behöver läggas ytterligare in mot mitten för ultimat rättvisa.

Cirkelns tredelning.png

Lösningen på problemet är nog att beställa en större pizza. Om pizzans diameter ökar från 30 cm till 35 cm ökar dess area med 36 %.

För den som vill evaluera integralen i bilden ovan analytiskt så finns substitutionen som måste göras här.

Thomaes funktion – en riktig hjärnvrängare

Jag läser om Thomaes funktion. Det är en funktion som är diskontinuerlig överallt utom i de irrationella talen. Jag var inte bekant med funktionen sedan mina tidigare studier (inte vad jag minns, iallafall), och det visade sig bli en tillfredsställande bekantskap. Den går ut på att när man stoppar in ett rationellt tal i funktionen så får den ett värde som är skilt från noll. Stoppar man däremot in ett irrationellt tal så är funktionsvärdet definierat till noll. Sedan låter man funktionen operera på hela mängden av rationella tal. En del av resultatet syns i nedanstående bildserie.

Kod i Mathematica (som är snodd härifrån); denna genererar ovanstående bilder:

maxq = 100;
fracs = Table[p/q, {q, 2, maxq}, {p, 2, q}] // Flatten // 
   DeleteDuplicates;
pq = {#, 1/Denominator@#} & /@ fracs;

ListPlot[pq, PlotRange -> {{0, 1}}]

Kan man inte få nog av märkliga funktioner så rekommenderar jag att läsa om Dirichlets funktion, som faktiskt inte är kontinuerlig någonstans, eller Weierstrass funktion som är kontinuerlig överallt men som inte är deriverbar någonstans.

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.

Good and Great Mathematicians

Hårfin eller avgrundsdjup skillnad mellan Good and Great mathematicians? Tack till MathWithBadDrawings för dessa inspirerande bilder (som är utlagda under licensen CC BY NC)!

Detta bildspel kräver JavaScript.

Några avstånd i solsystemet

Visst är det långt till Månen, det kom figuren Månskådare på i den utmärkta filmen 2001. Det är 384 000 km, men vad är egentligen innebörden av detta? Jag roade mig med att göra ett par skalenliga bilder för att visualisera några avstånd i vårt solsystem.

Spontant så ligger det nära till hands att tro att det visserligen är långt, men att det faktiskt går att pressa in 30 jordklot i mellanrummet… det är mycket! Ändå ger Månen upphov till fenomen som tidvatten och solförmörkelser.

Avstånden mellan planeterna då?

Nu syns det knappt vad som står i bilden (klicka på den för en högupplöst version), men längst till vänster har vi solen. Därefter planeterna Merkurius, Venus, Jorden och Mars (och då förstår vi att avståndet från Jorden till Månen är ett bildligt stenkast i förhållande till våra närmaste planeter). Dessa planeter ligger tätt i förhållande till de yttre planeterna; Jupiter, Saturnus, Uranus och Neptunus, vars avstånd mellan varandra vida överstiger avståndet mellan Solen och Mars!

I ett uppföljande inlägg kommer jag att visualisera storlekarna på våra himlakroppar i solsystemet.

Bilder i undervisningen från Wikipedia

Wikipedia är en fantastisk resurs när det gäller att hitta bilder till fysikundervisningen. Bilden för dagen är en illustration av modellen för det magnetiska fältet kring en stavmagnet. Mycket bättre än om jag skulle ritat upp det själv.

500px-VFPt_cylindrical_magnet_thumb.svg_
Stavmagnet med fältlinjer. By Geek3 (Own work) [GFDL or CC BY-SA 3.0], via Wikimedia Commons
Att just denna även fått utmärkelsen Quality Image gör ju inte saken sämre 🙂

Om programmering i skolan

Man kan ha många synpunkter på att, och på vilket sätt, programmering införs i både grund- och gymnasieskolans ämnen och kurser, men jag tror syftet helt enkelt är att motverka följande anekdot som jag fick på en maillista:

Om programmering

Det tycker jag är vällovligt.

Linjär algebra och analys – Video!

För dig som är sugen på lite djupdykning i de matematiska områdena linjär algebra och analys, så rekommenderas nedanstående spellistor som jag hittade på YouTube. Hade jag själv haft tillgång till dylikt material under (universitets)studierna hade vissa koncept underlättats enormt.

Mycket av det som tas upp ingår inte i gymnasiekurserna, och det som gör det tas ibland  upp på ett annat sätt. Icke desto mindre är dessa förklaringar och animeringar en väldigt bra resurs 🙂

Essence of Linear algebra

 Essence of calculus