#!/usr/bin/env python # coding: utf-8 # # Fys1120 Lab # # \ # # (Gruppene bestemmes under selve labøkten, så alle bør forberede sin egen notebook på forhånd. Du kan gjerne avtale å jobbe sammen med noen på forhånd, gitt at de skal ha samme labøkt. Gruppene skal bestå av 2-3 personer.) # Denne notebooken skal fylles ut som del av lab i Fys1120, og skal godkjennes av labassistenten ved slutten av labøkten. Før dere går på lab må dere forberede notebooken for å ha tid nok til å bli ferdig med selve labøvelsene. Alle oppgavene (både de som skal gjøres før og under lab) er beskrevet i full detalj i labteksten. Her i notebooken skal dere besvare de prelab oppgavene (indikert av undertitlene) der dere blir bedt om å skrive et python skript . Dette skal gjøre noen av oppgavene som dere skal utføre under selve laben mye enklere. # Resten av oppgavene trenger dere ikke forberede i notebooken før lab, **men** oppgavene i labteksten som er merket med *På lab* bør dere besvare i notebooken når dere er på lab, for at alle svarene skal være samlet. De oppgavene som er merket *Før lab* bør dere også prøve å løse (for dere selv) før lab, for at dere skal kunne bruke tiden på å løse andre eventuelle utfordringer under selve labøvelsen. # In[146]: import numpy as np import matplotlib.pyplot as plt from scipy.stats import linregress # ## Oppgaver 1.1.2 (før lab) og 1.2.1 (på lab) # # I neste celle finner du en variabel $C$, en vektor $U$ og en vektor $t$, som forestiller "falske" verdier for kapasitansen, spenningene og tidene som du vil måle i forsøket. Bruk disse til å finne en tilsvarende "falsk" verdi av restistansen $R$, som beskrevet i labteksten. Plot også målepunktene og de tilpassede kurvene på både eksponentiell og på lineær form (plottene skal ligne på bildene). Tips: søk opp funksjonen `scipy.stats.lingress` på google! # # Husk å ha med aksebetegnelser og tegnforklaring! (Tips: du kan bruke Latex-syntax i matplotlib, f.eks. skriv ``plt.xlabel("$\\ln \\frac{U}{U_0} $") `` for å få aksebetegnelsen på y-aksen i venstre plott). # # # # #
Målinger på lineær form Målinger på eksponentiell form
# Når du er på lab er alt du trenger å gjøre her å endre $C$, $t$, og $U$ til de "ekte verdiene", dvs. verdiene av kapasitans, tid og spenning som du har funnet under forsøket! **Merk:** disse verdiene vil muligens se veldig forskjellig ut fra "dummy"-verdiene dere bruker før lab. Dummy-verdiene har gjerne også feil antall desimaler, i forhold til nøyaktigheten dere vil måle størrelsene med under lab-øvelsen. # In[147]: C = 10 #Coulomp per Volt t = np.array([1, 2, 3, 4, 5]) #Sekunder U = np.array([149, 59, 18, 7, 3]) #Volt # In[148]: R = 0 # Skriv din kode her (du kan så klart bruke flere celler om du vil). # Du skal plotte målepunktene og regne ut en fornuftig verdi av motstanden R. # Siste celle skal skrive ut R. # In[149]: print() print(f"Motstand R = {R:.2f} Ohm") # Velg et passende antall desimaler! # ## Oppgaver 2.1.1 (før lab) og 2.2.1 (under lab) # # I cellen under finner du en vektor $I$ og en vektor $U$, som er dummy-verdier for strømmen gjennom og spenningen over amperemeteret som vi skal måle på laben. Bruk disse verdiene til å lage en lineær tilpasning, og til å finne en dummy-verdi for den indre motstanden i amperemeteret, $R_{\mathrm{a}}$. Lag et plot som inneholder både verdiene av $I$ og $U$ samt den tilpassede kurven (noe liknende som figuren under). # # Når du er på laben (og gjør oppg. 2.2.1) skal alt du trenger å gjøre i notebooken være å sette inn de målte verdiene for strøm og spenning i vektorene $I$ og $U$. # Målinger og lineær tilpasning # # In[150]: I = np.array([6.4, 4.8, 3.9, 3.2, 2.0, 0.7]) # Ampere U2 = np.array([3, 2.5, 2, 1.5, 1, 0.5]) # Volt # Skriver U2, for å skille vektoren fra U i oppgave 1 # In[151]: Ra = 0 # Skriv din kode her # Siste celle skal skrive ut Ra # In[152]: print() print(f"Motstand Ra = {Ra:.2f} Ohm") # Velg et passende antall desimaler! # ## Oppgaver 3.1.2 (før lab) og 3.2.2 (under lab) # # I cellen under finner dere to lister med spenninger $U$ og motstander $R$, som dere kommer til å måle under forsøket. Verdiene som er der nå er "falske". # # Man kan bruke disse verdiene for å lage en liste med verdier for strømmen $I$. Når dere har strømmen kan dere bestemme indre resistans $r$ og emf $\epsilon$ ved hjelp av en linærtilpasning, slik dere gjorde i de to tidligere oppgavene. Mer om dette står forklart i labteksten. # # Lineær tilpasning av spenning målt mot strøm for et peltier-element med en indre resistans # # Ved å lage en linærtilpasning skal dere få en graf (gitt dere bruker samme dummy-verdier) som ligner den over, og bruke denne til å anslå verdier for emf, og indre motstand. # In[153]: U3 = np.array([12, 21, 28, 36, 39]) # Volt R3 = np.array([1, 2, 3, 4, 5]) # Ohm # In[154]: I3 = np.array([]) # Strømmen I, som dere må finne. r = 0 # Indre motstand som dere må finne. emf = 0 # Emf i Peltier-element som dere må finne. # Skriv din kode her # In[155]: # Skriv ut resultatene for Emf og indre resistans. # Bruk et passende antall desimaler, og riktige enheter! # Når dere kommer på lab, vil alt dere trenger å gjøre være å sette inn målt verdi for spenning $U$ over motstanden, samt notere ned størrelsen på motstanden $R$ som ble brukt direkte inn i notebooken og produsere resultater!