Workshop: Data-analyse in de natuurkundeles met Tailor
Op deze webpagina vind je verschillende opdrachten om metingen te vergelijken met modellen. Hierbij komen verschillende mogelijkheden van Tailor voorbij waarbij we zoveel mogelijk hebben geprobeerd om aan te sluiten bij de onderwijspraktijk van natuurkundepractica. We hebben Tailor overigens ook gebruikt tijdens het begeleiden van profielwerkstukken — meest recent drie leerlingen die op de VU verschillende metingen gedaan hebben met een Michelsoninterferometer. Tailor kan worden ingezet vanaf de bovenbouw havo/vwo. Als je vragen hebt of meer wilt weten, aarzel dan niet om contact op te nemen met David Fokkema.
Tip
Als je Tailor nog niet hebt geïnstalleerd volg dan deze instructies.
Tip
De namen van kolommen kun je zelf aanpassen en gebruiken in grafieken en formules. Er zijn wel een paar regels: letters en cijfers zijn toegestaan, maar de naam mag geen spaties bevatten en mag niet beginnen met een cijfer. Een underscore (laag streepje) mag wel, en Tailor zal spaties vervangen door een underscore zodat namen als lengte_cm
getypt kunnen worden als lengte<spatie>cm
.
Berekeningen doen met Tailor
Eén van de belangrijkste mogelijkheden van Tailor is het werken met calculated columns. Het idee is eenvoudig: één wiskundige vergelijking berekent de waardes van de hele kolom. Je kunt de namen van andere kolommen gebruiken als variabelen in je functie. Als je bijvoorbeeld twee kolommen met de grootheden tijd $t$ en snelheid $v$ hebt dan kun je een nieuwe kolom afstand $s$ definiëren met de functie:
$$
s = vt.
$$
De notatie die in Tailor gebruikt wordt is dezelfde als in de programmeertaal Python. Je zult de vergelijking $vt$ in moeten vullen als: v * t
en machten als $x^2$ als: x ** 2
. Let op: alle kolommen worden van links naar rechts doorgerekend. Je kunt dus alleen variabelen gebruiken van kolommen die eerder, dus links, van je huidige kolom staan. Maar maak je geen zorgen: je kunt de volgorde van kolommen eenvoudig wijzigen door de kolomkoppen naar links of rechts te slepen.
Dezelfde notatie gebruik je voor het invoeren van de modelfunctie.
De valversnelling bepalen aan de hand van een slingerbeweging
Leerdoel
Als metingen niet overeenkomen met het model, kun je het model aanpassen en opnieuw vergelijken om erachter te komen wat er aan de hand is.
Regelmatig gaat een proefje 'mis'. Het klopt niet, maar waarom? Er is op de verkeerde manier gemeten of er zijn niet genoeg metingen gedaan bijvoorbeeld. Je kunt dan alles opnieuw doen, of je denkt na of je het model kunt aanpassen zodat een vergeten effect wordt meegenomen. Zo gaat dat in de wetenschap: we kunnen metingen niet verklaren, tenzij ...? In dit geval blijkt dat de slingerproef niet helemaal goed ging. We kunnen ontdekken waarom dat was, en komen dan op een antwoord dat, met de gegeven onzekerheid, helemaal zo slecht niet is.
Opdracht
De bekende Binas-formule voor een slingerbeweging wordt gegeven door $$ T = 2\pi\sqrt\frac{l}{g}, $$ met $T$ de periode van de slingerbeweging, $l$ de lengte van de slinger en $g$ de valversnelling. Verwerk onderstaande metingen en vergelijk met het bovenstaande model:
lengte (m) | periode (s) |
---|---|
0.05 | 0.61 |
0.1 | 0.715 |
0.15 | 0.849 |
0.2 | 0.979 |
0.25 | 1.107 |
0.3 | 1.194 |
Bonuspunten als je onzekerheden op lengte en tijd toevoegt. Het antwoord klopt niet met de literatuurwaarde van $9.81\,\text{m/s}^2$. Enig idee waarom?
Opdracht
De metingen zijn uitgevoerd met een cilindervormige massa aan een touwtje. Het blijkt dat de studenten vergeten zijn om voor de lengte het massamiddelpunt van de cilinder te nemen, in plaats van alleen de lengte van het touwtje. Pas het model aan om een 'extra' stukje lengte toe te voegen, waarvan we (helaas) niet meer precies weten hoeveel het was (maar ongeveer een paar centimeter). Wat vind je nu van het resultaat?
De halfwaardetijd van radon-220 bepalen
Leerdoel
Echte metingen zijn vaak minder mooi dan het verhaal in het boek.
Radioactief verval wordt behandeld in het havo/vwo natuurkundeprogramma. Studenten weten dat het verval exponentieel verloopt en welke vergelijking daarbij hoort. Maar als je zelf metingen gaat doen heb je al snel last van experimentele problemen: startmoment van de meting, verzadiging van de detector, (constante?) achtergrondstraling, een bron die niet uit één zuivere isotoop bestaat... hoe ga je daarmee om? Met Tailor is het heel eenvoudig om het fitdomein aan te passen of elementen aan je model toe te voegen.
Opdracht
Bepaal de halfwaardetijd van radon-220. Maak daarbij gebruik van de gemeten activiteit van een pas verkregen monster van radon.
Bestanden:
De beweging van een slinger meten met een ultrasone afstandssensor
Leerdoel
Een afstandsdetector is een mooi hulpmiddel tijdens een praktische opdracht. Periodieke functies zijn echter vaak lastig te fitten en studenten hebben vaak moeite met wat de verschillende parameters in het model betekenen. Visualiseren en uitproberen helpt daarbij!
Voor periodieke functies kan het lastig zijn om de beginwaardes van parameters als de frequentie of de amplitude zodanig te kiezen dat het model goed fit aan de datapunten. Met veel programma's is dit een kwestie van blijven proberen tot het lukt. Daarbij helpt het om goed naar de metingen te kijken en door bijvoorbeeld toppen te tellen en af te lezen de frequentie te schatten. Tailor kan een initiële fit laten zien in een lichtblauwe kleur. Wanneer beginwaardes worden veranderd past de curve zich automatisch aan. Je kunt daarvoor een nieuwe waarde intypen in het tekstveld, de pijltjes naast het veld gebruiken om hogere of lagere waardes te kiezen, of door met de muiscursor in het tekstveld te scrollen. Vooral die laatste manier is heel intuïtief en laat prachtig zien wat de invloed van de verschillende parameters is op het fysisch model.
Opdracht
Importeer het pendulum-USD.csv
-bestand in een leeg project. Verander de kolomnamen als je dat fijn vindt. Maak een afstand-tijd-grafiek en fit aan een geschikt model, bijvoorbeeld:
$$
s = s_0 + A \sin(2\pi f t + \phi),
$$
waar afstand $s$ en tijd $t$ gelijk moeten zijn aan de namen van de datakolommen. Probeer te fitten met de standaardwaardes van het model; dat geeft waarschijnlijk geen goed resultaat. Speel nu een beetje met de waardes; het kan zijn dat je Show initial fit
weer even aan moet vinken. Hoe verandert het model als je een parameter aanpast? Probeer een goede fit te krijgen.
Bestanden:
Karretje over een wrijvingslozebaan
Leerdoel
De wrijvingsloze baan — of luchtkussenbaan — is welbekend, maar hoe ga je om met een beweging die niet bij $t = 0$ start? Als je meer dan één dataset moet analyseren kan het handig zijn om niet alles steeds opnieuw te doen.
Eventueel: meerdere datasets analyseren
In de praktijk wordt vaak een meting uitgevoerd en de data volledig geanalyseerd, waarna dezelfde analyse wordt toegepast op een tweede dataset. Omdat Tailor de 'calculated columns' en plots herlaad wanneer de data verandert, kunnen we deze handelingen snel in Tailor uitvoeren. Doe dit door het project onder een nieuwe naam op te slaan — door bijvoorbeeld -dataset-2
aan de naam toe te voegen — en vervolgens de data van de oude meting te vervangen door de nieuwe dataset. Wanneer het data betreft van een computer gestuurde meeting is dit helemaal eenvoudig door het nieuwe CSV-bestand te importeren. Tailor zal in dat geval de kolommen met dezelfde naam overschrijven. Klik dan op (Re)Fit model
in de plot en de resultaten voor de nieuwe meting zijn bekend.
Bij het importeren van data vanuit een CSV-bestand kan het voorkomen dat de kolomnamen niet handig dan wel logisch zijn. Het lijkt eenvoudig om dan de kolomnamen aan te passen, maar dit geeft problemen wanneer een nieuwe dataset wordt geïmporteerd in het oude project. Tailor zal de oude data niet overschrijven omdat de kolomnamen in de datasheet niet overeenkomen met de kolomnamen in het CSV-bestand. In plaats daarvan zal Tailor de nieuwe datakolommen toevoegen voor de andere datakolommen. Met als gevolg dat er twee datasets in het project staan en de analyse niet automatisch wordt uitgevoerd op de nieuwe data. Daarom is het handig om de kolomnamen niet aan te passen maar om een nieuwe calculated column
toe te voegen met de nieuwe naam en een verwijzing naar de originele naam als formule. De data wordt daarmee gekopieerd naar de nieuwe kolom en de nieuwe naam kan gebruikt worden in de plots en model functies.1
Bij het uitvoeren van een computer gestuurde meting is het vaak lastig om het experiment precies op hetzelfde moment te laten starten en eindigen. Met als gevolg de fit uitgevoerd moet worden op slechts een gedeelte van de data. In de plot tab kan je daarvoor Use domain
selecteren en daarbij het domein aangeven of door de randen van de blauwe vlak te slepen om de data te selecteren. Ook zul je in het model een aanpassing moeten doen zodat de meting niet op $t = 0$ hoeft te beginnen.
Opdracht
Importeer het cart-dataset1.csv
-bestand en voeg eventueel nieuwe kolommen toe om afkortingen te definiëren voor de tijd en positie kolommen. Geef de nieuwe kolommen als naam $t$ and $s$. Voeg een kolom toe met 0.005 als meetonnauwkeurigheid voor $\delta s$. Plot $s$ tegen $t$ en fit een model voor constante snelheid aan het rechte deel van de data. Sla het bestand twee keer op onder verschillende namen voor dataset 1 en dataset 2 — om te voorkomen dat de resultaten van de eerste analyse per ongeluk worden overschreven. Importeer nu de tweede dataset en kies voor Don't Save
wanneer een waarschuwing verschijnt over het verliezen van wijzigingen. Als alles goed gegaan is hoeft in de plot alleen het fit domein aangepast te worden en de fit opnieuw uitgevoerd om de resultaten voor de tweede dataset te verkrijgen. Sla het project opnieuw2 op om de nieuwe data en resultaten voor dataset 2 te bewaren.
Bestanden:
Extra
Fotovoltaïsche cel (zonnecel)
Leerdoel
Soms meet je niet direct waarin je geïnteresseerd bent maar moet je de interesante grootheden afleiden uit je metingen. De zonnecel is welbekend, maar gedraagt zich niet als een spanningsbron en ook niet als een stroombron.
In deze opdracht maken we gebruik van metingen die uitgevoerd zijn aan een fotovoltaïsche cel in het kader van onze Experiment Control with Python Course.
Opdracht
Importeer het pvcell.csv
-bestand in een leeg project. De kolom $U_0$ is een stuurspanning die gebruikt wordt om de belasting3 van de fotovoltaïsche cel te variëren. Er is geen exacte relatie tussen de waarde van $U_0$ en de waarde van de belastingsweerstand en deze kolom mag je negeren. $U_1$ is de spanning over de fotovoltaïsche cel en $U_2$ is de spanning over een 4.7 Ω weerstand die in serie staat met de belasting. Maak nieuwe calculated columns om de stroomsterkte door het circuit te berekenen en liefst ook de onzekerheid daar op. Plot de relatie tussen de stroomsterkte en de spanning en probeer het volgende model te fitten, afgeleid van de Shockley vergelijking:
$$
I = I_\text{L} - I_0\left[\exp\left(\frac{U}{nU_\text{T}}\right) - 1\right],
$$
met de stroomsterkte $I$, the fotostroom $I_\text{L}$, de sperverzadigingsstroom $I_0$, de spanning over de fotovoltaïsche cel $U$, en de thermische spanning $U_\text{T} = \frac{kT}{q}$.
Bestanden:
Röntgenfluorescentie
Leerdoel
In deze oefening zul je zien dat Tailor geen beperkingen heeft op welk model je wilt fitten. Je kunt complexe modellen fitten, zoals bijvoorbeeld multipeak-modellen. Deze vrijheid kent één nadeel: je moet je model heel precies invoeren.
Tailor heeft geen bibliotheek van ingebouwde modellen. Elk model dat je wilt gebruiken zul je zelf expliciet in moeten vullen in het tekstveld. Dit maakt Tailor wel heel flexibel. Waar applicaties als Excel slechts een handjevol modellen kunnen fitten, kunnen meer geavanceerde applicaties als Origin Pro daarnaast ook zogenaamde user-defined modellen gebruiken. Dat onderscheid maakt de gebruikersinterface ingewikkelder. Bovendien kan het gebruik van ingebouwde modellen studenten een beetje lui maken. Ze kiezen model na model tot er iets mooi fit aan de metingen zonder dat ze goed begrijpen welke natuurkunde hier achterzit. Met Tailor moeten studenten zelf nadenken over welke formule ze willen gebruiken als model en deze expliciet invullen.
Opdracht
Het X-ray.csv
-bestand bevat metingen van een röntgenfluorescentie-experiment. Importeer het bestand in een leeg project and probeer een piekmodel van jouw keuze aan de metingen te fitten met het doel de energie van de piek te bepalen. Moet je per sé een model gebruiken die helemaal past als je alleen maar in de energie geïnteresseerd bent? Vergeet niet na te denken over de onzekerheid op de metingen. Probeer hetzelfde te doen voor het X-ray-invar.csv
-bestand met een multipeak-model.
Bestanden:
Examenopdracht 2023-I: Boomwhackers
Leerdoel
Gebruik Tailor om een examenopdracht uit te voeren.
In examenopdrachten wordt data gepresenteerd wat gekoppeld is aan een experiment. Met behulp van Tailor kunnen studenten leren deze data te verwerken. We laten dit zien aan de hand van de examenopdracht Boomwhackers uit 2023 tijdvak 1
Opdracht
Akoestische lengte
Boomwhackers zijn plastic buizen met aan beide kanten een opening waarmee je muziek kunt maken. Wanneer je een boomwhacker ergens tegenaan tikt, produceert dit geluid door de trillingen (staande golven) in de buis. Hoe lang de buis is, bepaalt welke toonhoogte er klinkt.
Wanneer de grondtoon en boventonen van een buis worden gemeten, tonen deze kleine afwijkingen ten opzichte van de verwachte resultaten op basis van de buislengte. Dit verschil ontstaat doordat de knopen niet precies samenvallen met de uiteinden van de buis. De afstand tussen de knopen aan beide uiteinden van de buis staat bekend als de akoestische lengte. Deze akoestische lengte is dus bepalend voor de toonhoogte.
De akoestische lengte wordt gegeven door: $$ L_a = L + 2 \cdot 0.31 \cdot d, $$ met $L_a$ de akoestische lengte van de buis in m, $L$ de werkelijke lengte van de buis in m, $0.31$ een experimenteel bepaalde correctiefactor, $d$ de binnendiameter van de buis in m, $2$ het aantal open uiteinde van de buis.
- Leg uit met behulp van bovenstaande formule of de buiken aan de uiteinden van de buis binnen of buiten de buis vallen.
Golflengte bepalen
De frequenties van de grondtoon van elke buis en de bijbehorende lengtes van de buizen zijn gegeven in boomwhackers_2023_1.csv
, de binnendiameter van de buizen blijkt na meting 4,0 cm te zijn.
- Importeer het boomwhackers_2023_1.csv-bestand in een leeg project.
- Bepaal de golflengte van de grondtoon op basis van de lengte van de buizen en zet deze in een aparte kolom in het Tailor project.
Meetonnauwkeurigheid toevoegen
De meetonnauwkeurigheid op de frequentie is $2 \cdot 10^1$ Hz.
- Voeg deze meetonnauwkeurigheid als een aparte kolom toe in het Tailor project.
- Maak een afschatting van de meetonnauwkeurigheid op de golflengte en voeg deze toe in het Tailor project.
Frequentie uitzetten tegen de golflengte
- Maak een plot met op de x-as de golflengte en de bijbehorende meetonnauwkeurigheid en op de y-as de frequentie inclusief meetonnauwkeurigheid.
- Geef de assen correcte titels met grootheid en eenheid. Pas het bereik van de plot aan zodat de oorsprong zichtbaar is.
Bepaal de geluidsnelheid
Met behulp van deze data is het mogelijk om de geluidsnelheid te bepalen. Daarvoor hebben we een model nodig die de data goed beschrijft.
- Met welk model kan de geluidsnelheid bepaald worden uit de plot? Vul in Tailor het model in. Gebruik 'v' als symbool voor de geluidsnelheid in het model.
- Geef onder het kopje
Starting values and parameters bounds
aan wat redelijke waardes zijn voor de geluidsnelheid. Het linkervakje geeft de ondergrens aan, het middelste vakje is voor de verwachte waarde en het rechtervakje is voor de bovengrens. - Klik op
(Re)Fit model
om te zien welke waarde voor de geluidsnelheid het beste bij deze data past. Welke waarde wordt gegeven onder het kopjeFit parameters
in het blokjeInformation
?
Lineariseren
Van een rechte fit-lijn is het makkelijker om te zien hoe goed die bij de datapunten past (of niet) dan van een kromme lijn. Daarom willen we het gebruikte model omschrijven naar de vorm:
$$ f = \text{iets} \cdot v, $$
met f de frequentie in Hz en v de geluidsnelheid in m/s.
- Wat is $iets$ in ons geval?
- Maak in Tailor een nieuwe kolom en zet de data om zodat je een rechte lijn kunt trekken over de datapunten.
- Maak een nieuwe plot met op de x-as de omgezette data en op de y-as de frequentie.
- Vul het nieuwe model in en klik op
Show initial fit
. - Vul voor de startwaarde van de geluidsnelheid een verwachte waarde in.
- Scroll in het vakje voor de startwaarde van de geluidsnelheid om de startwaarde aan te passen. Kijk naar de verandering van de blauwe lijn, wat is de minimale waarde en de maximale waarde die je voor de geluidsnelheid uit deze data kan verwachten?
Bestanden:
Installatie-instructies voor Tailor
Tailor is als repository te vinden op GitHub en de laatste versie kan hier gedownload worden. Voor Windows heb je een .msi
-bestand nodig, voor macOS een .dmg
. Directe links naar de verschillende installatieprogramma's: