opgaver:Uge1

From Eksperimentel Fysik WIKI
(Difference between revisions)
Jump to: navigation, search
m (diskrepans forklaret)
 
(33 intermediate revisions by 2 users not shown)
Line 8: Line 8:
  
 
:{| cellpadding="4"
 
:{| cellpadding="4"
|Tid gået, ''t'' (timer): || 0.0 || 0.5 || 1.0 || 1.5 || 2.0  
+
|Tid gået, $t$ (timer): || 0.0 || 0.5 || 1.0 || 1.5 || 2.0  
 
|-
 
|-
|Antal tællinger, ''ν'', på 1 minut: || 214 || 134 || 101 || 61 || 54
+
|Antal tællinger, $\nu$, på 1 minut: || 214 || 134 || 101 || 61 || 54
 
|-
 
|-
 
|}
 
|}
Line 17: Line 17:
 
Brug MATLAB til at plotte antallet af tællinger imod den tid der er gået. Inkludér errorbars for at vise usikkerheden på tallene. (Negligér usikkerheder i den tid der er gået).
 
Brug MATLAB til at plotte antallet af tællinger imod den tid der er gået. Inkludér errorbars for at vise usikkerheden på tallene. (Negligér usikkerheder i den tid der er gået).
 
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
For en hjælp til hvordan man plotter data, se ''Getting Started with MATLAB'' guiden, der ligger på Absalon. Kapitel 4 indeholder en masse plotning generelt. Prøv at slå funktionen <code>errorbar</code> op i MATLAB hjælpen bagefter.
+
For en hjælp til hvordan man plotter data, se "MATLAB® Primer" (tidligere kaldet "Getting Started with MATLAB") guiden, der ligger på Absalon. Kapitel 4 indeholder en masse plotning generelt. Prøv at slå funktionen <code>errorbar</code> op i MATLAB hjælpen bagefter.
 
{{hidden end}}
 
{{hidden end}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
[[File:uge1tors1fig1.png|frame|Plottet som det burde være nu.]]
+
[[File:uge1tors1fig1.png|frame|Plottet som det burde se ud efter at have kørt denne kode.]]
 
For at plotte datapunkterne med usikkerheder skal data først indlæses. Usikkerhederne er kvadratroden af tælletallet, så
 
For at plotte datapunkterne med usikkerheder skal data først indlæses. Usikkerhederne er kvadratroden af tælletallet, så
  
Line 27: Line 27:
 
:<code>nu_usikk = sqrt(nu);</code>
 
:<code>nu_usikk = sqrt(nu);</code>
  
Herefter kan data plottes vha. MATLAB funktionen <code>errorbar(x,y,e)</code>, der plotter (''x'',''y'') data, hvor der er usikkerheden ''e'' ''y''-dataen. En figur åbnes med
+
Herefter kan data plottes vha. MATLAB funktionen <code>errorbar(x,y,e)</code>, der plotter $(x,y)$ data, hvor der er usikkerheden $e$ $y$-dataen. En figur åbnes med
  
 
:<code>figure</code>
 
:<code>figure</code>
Line 39: Line 39:
 
:<code>hold on</code>
 
:<code>hold on</code>
  
for at blive ved med at plotte oven i det allerede lavede (ellers vil de næste kommandoer overskrive errorbar plottet. Jeg sætter nu også akser, titel og akselabels med
+
for at blive ved med at plotte oven i det allerede lavede (ellers vil de næste kommandoer overskrive errorbar plottet). Jeg sætter nu også akser, titel og akselabels med
  
 
:<code>axis([-0.5 2.5 40 240])</code>
 
:<code>axis([-0.5 2.5 40 240])</code>
Line 48: Line 48:
  
 
=== Spørgsmål b ===
 
=== Spørgsmål b ===
En teori forudsiger at antallet af udsendte partikler burde falde eksponentielt ved ''&nu; = &nu;''<sub>0</sub> exp(''-rt''), hvor der (i dette tilfælde) gælder at ''&nu;<sub>0</sub> ='' 200 og ''r = ''0.693 hr<sup>-1</sup>. Plot denne forventede kurve på din graf oven på din tidligere graf, og kommentér på hvor godt dataen ser ud til at passe med den teoretiske forudsigelse.
+
En teori forudsiger at antallet af udsendte partikler burde falde eksponentielt ved $\nu = \nu_0 \exp{(-rt)}$, hvor der (i dette tilfælde) gælder at $\nu_0 = 200$ og $r = 0.693 \,\text{hr}^{-1}$. Plot denne forventede kurve på din graf oven på din tidligere graf, og kommentér på hvor godt data ser ud til at passe med den teoretiske forudsigelse.
 +
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
For at plotte en funktion skal man først definere sin førsteakse som en vektor, f.eks. <code>x = 0:0.01:1</code>. Man kan også bruge <code>linspace(x,y,n)</code> funktionen til at lave en liste fra $x$ til $y$ med $n$ punkter. Antallet af punkter definerer opløsningen på det plot man vil lave.
 +
 
 +
Herefter kan man udregne sine værdier til andenaksen som sin funktion af førsteakseværdierne, f.eks. <code>y = sin(x)</code>.
 +
{{hidden end}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
[[File:uge1tors1fig2.png|frame|Det endelige plot, der sammenligner data med usikkerheder med en teoretisk linje.]]
 +
Man definerer linjen for teorien rent numerisk ved at lave en tids-akse som man selv bestemmer hvor detaljeret er, f.eks.
 +
 +
:<code>tt = -0.25:0.01:2.25;</code>
 +
 +
og så kan man udregne den teoretiske linje ved
 +
 +
:<code>nu_0 = 200; </code>
 +
:<code>r = 0.693;</code>
 +
:<code>nu_exp = nu_0 * exp(-r*tt);</code>
 +
 +
Hvis man huskede sin <code>hold on</code> tidligere burde man nu bare kunne plotte oven i sit errorbar plot med
 +
 +
:<code>plot(tt,nu_exp,'b:')</code>
 +
 +
Som en sidste krone på værket kan man tilføje en legend med
 +
 +
:<code>legend('Datapunkter','Teori-linje')</code>
 +
 +
Prøv at lave plottet igen med forskellige layouts af punkterne og linjen. F.eks. er der de forskellige farver <code>r</code> (rød), <code>g</code> (grøn), <code>b</code> (blå), <code>y</code> (gul), <code>m</code> (magenta) og <code>k</code> (sort); punkttyperne <code>.</code> (lille prik), <code>x</code> (krydser), <code>o</code> (store prikker) og <code>*</code> (stjerner); og linjetyperne <code>-</code> (solid), <code>:</code> (prikker) og <code>--</code> (stiplet), og selvfølgelig mange flere. Prøv at finde disse options i MATLAB hjælpen under <code>LineSpec</code>.
 +
 +
Du kan også lege med egenskaber som <code>MarkerSize</code>, <code>LineWidth</code>, <code>MarkerEdgeColor</code> og <code>MarkerFaceColor</code> for at gøre linjen og punkterne mere tydelige.
 +
{{hidden end}}
 +
 +
=== Bonus ===
 +
I uge 3 skal I lære hvordan man fitter en funktion til datapunkter i MATLAB - så i stedet for at plotte en given kurve vil I skulle plotte den bedst fittede kurve til data.
 +
 +
{{hidden begin|toggle=right|title=Læs mere|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
[[File:uge1tors1fig2fit.png|frame|Plottet som før, men nu også med en fit-linje.]]
 +
Lad os sige at data allerede er indlæst i variablene <code>t</code> og <code>nu</code> (med usikkerhed <code>nu_usikk</code>), som ovenfor. Disse er også allerede plottet som det blev gjort i spørgsmål a.
 +
 +
For at kunne fitte en linje skal man selvfølgelig først definere sin fitte-kurve, der i dette tilfælde vil være $\nu = \nu_0 \exp{(-rt)}$, hvor $\nu_0$ og $r$ nu er fitte-parametre. En funktion kan defineres på mange måder i MATLAB, men når man fitter med simple funktionsudtryk i MATLAB er det nemmest simpelthen bare at fodre fitte-rutinen med den direkte.
 +
 +
:<code>cfun = fit(t',nu','a*exp(-b*x)')</code>
 +
 +
Bemærk at <code>t'</code> betyder den transponerede af <code>t</code>. Funktionen <code>fit</code> kræver nemlig søjlevektorer som data, ikke rækkevektorer, som både <code>t</code> og <code>nu</code> er defineret som. Objektet <code>cfun</code> indeholder nu information om fittet, og man kan plotte kurven med de bedste værdier af <code>a</code> og <code>b</code> med
 +
 +
:<code>plot(tt,cfun(tt),'g-')</code>
 +
 +
man kan også få parametrene ud ved at kalde variablene <code>cfun.a</code> og <code>cfun.b</code>. Det er også muligt at gå dybere ned i <code>cfun</code> objektet, men dette skal ikke uddybes her.
  
 +
Bemærk også at ovenstående ikke fodrer MATLAB med et start-gæt på de to fitte-parametre. Dette bør man normalt gøre, da programmet ellers vælger tilfældige startpunkter, og her ikke altid vil konvergere. Man kan gøre det ved at bruge <code>StartPoint</code> option'en, og dette vil vi komme ind på senere.
 
{{hidden end}}
 
{{hidden end}}
  
  
 
== Opgave 2 - Usikkerheden af et potensudtryk ==
 
== Opgave 2 - Usikkerheden af et potensudtryk ==
Fra Taylor's regel (3.10) om usikkerheder af potensudtryk, ved vi at et ''q = x''<sup>2</sup> har en relativ usikkerhed der er dobbelt så stor som den relative usikkerhed i ''x'';
+
Fra Barlow's regel (4.10) om usikkerheder af funktionsudtryk, ved vi at et $q = x^2$ har en relativ usikkerhed der er dobbelt så stor som den relative usikkerhed i $x$;
  
:[[File:uge1tors2eq1.png||]]
+
:$ \dfrac{\sigma_q}{q} = 2 \dfrac{\sigma_x}{x} . $
  
Overvej nu det følgende (forkerte) argument: Vi kan tænke på ''x''<sup>2</sup> som ''x'' gange ''x'', så
+
Overvej nu det følgende (forkerte) argument: Vi kan tænke på $x^2$ som $x$ gange $x$, så
  
:[[File:uge1tors2eq2.png||]]
+
:$ q = x \times x; $
  
derfor vil der ifølge Taylor's regel (3.18) gælde at
+
derfor vil der ifølge Barlow's regel (4.14) gælde at
  
:[[File:uge1tors2eq3.png||]]
+
:$ \dfrac{\sigma_q}{q} = \sqrt{ \left( \dfrac{\sigma_x}{x} \right)^2 + \left( \dfrac{\sigma_x}{x} \right)^2 }
 +
                    = \sqrt2 \dfrac{\sigma_x}{x} . $
  
 
Denne konklusion er forkert. Forklar hvorfor.
 
Denne konklusion er forkert. Forklar hvorfor.
  
 
Bonus: Prøv at undersøge dette i MATLAB ved at sammenligne den relative usikkerhed (SD divideret med gennemsnitsværdien) for en række af tilfældige tal med den relative usikkerhed på samme række af tal kvadreret. Du kan evt. læse i MATLAB-hjælpen hvad funktionen <code>randn</code> gør.  
 
Bonus: Prøv at undersøge dette i MATLAB ved at sammenligne den relative usikkerhed (SD divideret med gennemsnitsværdien) for en række af tilfældige tal med den relative usikkerhed på samme række af tal kvadreret. Du kan evt. læse i MATLAB-hjælpen hvad funktionen <code>randn</code> gør.  
 +
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Se på hvad antagelserne for at formel (4.14) gælder faktisk er - passer dette med hvad der arbejdes med i denne opgave?
 +
 +
For at se på det i MATLAB kan man generere en række tilfældige tal vha. <code>randn</code> funktionen. Slå den op i MATLAB hjælpen og se hvad den kan.
 +
{{hidden end}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Konklusionen i den fejlagtige udledning er forkert fordi man har brugt udtrykket i formel (4.14) uden at overholde dennes antagelser - nemlig at de variable man ganger sammen er uafhængige. Og nu er $x$ jo fuldkommen afhængig af sig selv - hvorfor konklusionen altså kun kan være forkert.
 +
 +
For at se på dette i MATLAB kan man starte med at lave en liste med normalfordelte tal
 +
 +
:<code>x = 10 + randn(1,500);</code>
 +
 +
Bemærk at der lægges 10 til, da vi gerne vil dividere med gennemsnittet senere (og at dividere med nul er jo ikke så godt!).
 +
 +
Man kan nu helt manuelt se på den relative usikkerhed på <code>x</code> og på <code>x</code> i anden potens, ved at bruge de indbyggede MATLAB funktioner for standardafvigelse og gennemsnit, <code>std</code> og <code>mean</code>:
 +
 +
:<code>std(x)/mean(x)</code>
 +
:<code>std(x.^2)/mean(x.^2)</code>
 +
 +
Man finder at nummer to usikkerhed ovenfor ligner at man ganger den første med 2, ikke med $\sqrt{2}$, ved at sammenligne
 +
 +
:<code>2*std(x)/mean(x)</code>
 +
:<code>sqrt(2)*std(x)/mean(x)</code>
  
 +
Og dermed er det altså også rent numerisk vist at den naive fremgangsmåde ikke er sand.
 
{{hidden end}}
 
{{hidden end}}
  
  
 
== Opgave 3 - Flere tælletal ==
 
== Opgave 3 - Flere tælletal ==
I Taylor kap.3 lærte I at i et tælleeksperiment er usikkerheden på en tælling givet af "kvadratrods-reglen" til at være kvadratroden af tallet. Denne regel kan gøres mere præcis med følgende udsagn (bevises i Taylor kap. 11): Hvis man tager adskillige tællinger
+
I Barlow kap. 3.3.1 kan I læse at i et tælleeksperiment er usikkerheden på en tælling givet af "kvadratrods-reglen" til at være kvadratroden af tallet. Denne regel kan gøres mere præcis med følgende udsagn: Hvis man tager adskillige tællinger
  
:[[File:uge1tors3eq1.png||]]
+
:$ \nu_1, \nu_2, \ldots, \nu_N $
  
af antallet ''&nu;'' af tilfældige hændelser der sker inden for tidsrummet ''T'', så gælder der: (1) det bedste estimat for det sande gennemsnit af hændelser inden for tidsrummet ''T'' er gennemsnittet ''&#773;&nu; = &Sigma; &nu;<sub>i</sub>/N'' af målingerne, og (2) ''standardafvigelsen'' af de observerede tal er approksimativt lig med ''kvadratroden'' af dette samme bedste estimat; altså, usikkerheden i hver måling er <span style="white-space: nowrap">&radic;<span style="text-decoration:overline;">&nbsp;''&#773;&nu;''&nbsp;</span></span>. I specialtilfældet hvor der kun måles én gang, hvor man får et antal tællinger ''&nu;'', er det bedste estimat ''&nu;'', mens usikkerheden er kvadratroden <span style="white-space: nowrap">&radic;<span style="text-decoration:overline;">&nbsp;''&nu;''&nbsp;</span></span>; dette resultat er bare kvadratrods-reglen fra Taylor kap. 3, med den ekstra information at "usikkerheden" faktisk er standardafvigelsen, der definerer grænserne hvorimellem man kan være cirka 68 % sikker på at det sande svar ligger.  
+
af antallet $\nu$ af tilfældige hændelser der sker inden for tidsrummet $T$, så gælder der: (1) det bedste estimat for det sande gennemsnit af hændelser inden for tidsrummet $T$ er gennemsnittet $\overline\nu = \sum \nu_i/N$ af målingerne, og (2) ''standardafvigelsen'' (også kaldt SD, for Standard Deviation) af de observerede tal er approksimativt lig med ''kvadratroden'' af dette samme bedste estimat; altså, usikkerheden i hver måling er $\sqrt{\overline\nu}$. I specialtilfældet hvor der kun måles én gang, hvor man får et antal tællinger $\nu$, er det bedste estimat $\nu$, mens usikkerheden er kvadratroden $\sqrt\nu$.  
  
 
En fysiker bruger en Geiger-tæller til at måle antallet af kosmiske partikler der kommer til hans laboratorie i givne to-sekunders intervaller.  Han tæller dette tal 20 gange med følgende resultater:
 
En fysiker bruger en Geiger-tæller til at måle antallet af kosmiske partikler der kommer til hans laboratorie i givne to-sekunders intervaller.  Han tæller dette tal 20 gange med følgende resultater:
Line 92: Line 162:
  
 
=== Spørgsmål a ===
 
=== Spørgsmål a ===
Find gennemsnittet og standardafvigelsen på disse tal vha. MATLAB.
+
Find gennemsnittet og standardafvigelsen (SD) på disse tal vha. MATLAB.
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Først defineres datasættet som en enkel liste med
  
 +
:<code>nu = [10 13 8 15 8 13 14 13 19 8 13 13 7 8 6 8 11 12 8 7];</code>
 +
 +
Derefter kan gennemsnittet og SD udregnes enten manuelt eller ved brug af <code>mean</code> funktionen. F.eks.
 +
 +
:<code>gn = sum(nu)/length(nu)</code>
 +
:<code>std(nu)</code>
 +
 +
Dermed har man gennemsnittet og datasættets faktiske standardafvigelse.
 +
 +
Husk ikke at forvirre standardafvigelsen SD med standardafvigelsen på gennemsnittet (også kaldt SDOM, for Standard Deviation Of the Mean). Hvis man her vil finde SDOM, skal man dividere med kvadratroden af antallet af punkter,
 +
 +
:<code>std(nu)/sqrt(length(nu))</code>
 
{{hidden end}}
 
{{hidden end}}
  
Line 100: Line 183:
 
Standardafvigelsen på tallene skulle gerne være ca. lig med kvadratroden på deres gennemsnit. Hvor godt passer dette?
 
Standardafvigelsen på tallene skulle gerne være ca. lig med kvadratroden på deres gennemsnit. Hvor godt passer dette?
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Kvadratroden af gennemsnittet udregnes simpelthen med (ved brug af løsningen fra spørgsmål a)
  
 +
:<code>sqrt(gn)</code>
 +
 +
Denne standardafvigelse er faktisk et over-estimat, men den passer ok med den udregnede <code>std(nu)</code> fra ovenfor.
 
{{hidden end}}
 
{{hidden end}}
  
Line 106: Line 193:
 
== Opgave 4 - Systematiske fejl ==
 
== Opgave 4 - Systematiske fejl ==
 
[[File:uge1tors4fig.png|frame|Et pendul består af en metalkugle der hænger i en snor. Den effektive længde af pendulet er længden af snoren ''plus'' radius af kuglen.]]
 
[[File:uge1tors4fig.png|frame|Et pendul består af en metalkugle der hænger i en snor. Den effektive længde af pendulet er længden af snoren ''plus'' radius af kuglen.]]
Systematiske fejl kommer nogle gange fra at fysikeren helt uvidende måler det forkerte. Her er et eksempel: En studerende forsøger af måle ''g'' ved at bruge et pendul lavet af en stålkugle der hænger i en let snor (se figuren). Han måler fem forskellige længder af pendulet og de tilhørende perioder ''T'' som følger:
+
Systematiske fejl kommer nogle gange fra at fysikeren helt uvidende måler det forkerte. Her er et eksempel: En studerende forsøger af måle $g$ ved at bruge et pendul lavet af en stålkugle der hænger i en let snor (se figuren). Han måler fem forskellige længder af pendulet og de tilhørende perioder $T$ som følger:
  
 
:{| cellpadding="4"
 
:{| cellpadding="4"
|Længde, ''l'' (cm): || 51.2 ||  59.7 ||  68.2 ||  79.7 ||  88.3
+
|Længde, $l$ (cm): || 51.2 ||  59.7 ||  68.2 ||  79.7 ||  88.3
 
|-  
 
|-  
|Periode, ''T'' (s): || 1.448 || 1.566 || 1.669 || 1.804 || 1.896.  
+
|Periode, $T$ (s): || 1.448 || 1.566 || 1.669 || 1.804 || 1.896.  
 
|-
 
|-
 
|}
 
|}
 +
 +
 +
  
 
=== Spørgsmål a ===
 
=== Spørgsmål a ===
For hver datapar udregner han ''g'' som ''g ='' 4''&pi;''<sup>2</sup> ''l/T''<sup>2</sup>. Han udregner derefter gennemsnittet af de fem værdier, deres SD, og deres SDOM. Ved at antage at alle hans fejl er tilfældige kan han bruge SDOM som sin endelige usikkerhed, og skriver sit resultat på standardformen gennemsnit &plusmn; SDOM. Find hans resultat for ''g'' vha. MATLAB.
+
For hver datapar udregner han $g$ som $g = 4 \pi^2 l/T^2$. Han udregner derefter gennemsnittet af de fem værdier, deres SD, og deres SDOM. Ved at antage at alle hans fejl er tilfældige kan han bruge SDOM som sin endelige usikkerhed, og skriver sit resultat på standardformen gennemsnit $\pm$ SDOM. Find hans resultat for $g$ vha. MATLAB.
 +
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Start med at opskrive data i to 1D arrays - et array for <code>l</code> og et array for <code>T</code>. Nu kan du udregne <code>g</code> vha. den givne funktion, og lave statistik på denne.
 +
{{hidden end}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Dataen læses ind med
  
 +
:<code>l = [51.2 59.7 68.2 79.7 88.3];</code>
 +
:<code>T = [1.448 1.566 1.669 1.804 1.896];</code>
 +
 +
og tyngdeaccelerationskoefficienten udregnes ved
 +
 +
:<code>g = 4*pi^2*l./T.^2</code>
 +
 +
Herefter kan man finde gennemsnittet, SD og SDOM af værdierne vha. de indbyggede MATLAB funktioner
 +
 +
:<code>g_mean = mean(g)</code>
 +
:<code>sigma = std(g)</code>
 +
:<code>sigma_mean = std(g)/sqrt(length(g))</code>
 
{{hidden end}}
 
{{hidden end}}
  
 
=== Spørgsmål b ===
 
=== Spørgsmål b ===
Han sammenligner nu sit resultat med den accepterede værdi ''g ='' 979.6 cm/s<sup>2</sup> og forfærdes over at se at hans diskrebans er tæt på 10 gange større end hans usikkerhed. Bekræft denne sørgelige konklusion.
+
Han sammenligner nu sit resultat med den accepterede værdi $g = 979.6 \,\text{cm}/\text{s}^2$ og forfærdes over at se at hans diskrepans (afvigelse fra den accepterede værdi) er tæt på 10 gange større end hans usikkerhed. Bekræft denne sørgelige konklusion.
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Diskrebansen findes bare som forskellen,
  
 +
:<code>g_right = 979.6;</code>
 +
:<code>discrepancy = g_mean - g_right</code>
 
{{hidden end}}
 
{{hidden end}}
  
 
=== Spørgsmål c ===
 
=== Spørgsmål c ===
Efter at have gennemtjekket alle sine udregninger konkluderer han at han må have overset en systematisk fejl. Han er helt sikker på at der ikke var problemer med målingen af perioden ''T'', så han spørger sig selv: Hvor stor skulle en systematisk fejl i længden ''l'' være for at grænserne for den totale usikkerhed ''lige præcis'' inkluderer den accepterede værdi 979.6 cm/s<sup>2</sup>? Vis med MATLAB at svaret er ca. 1 cm.
+
Efter at have gennemtjekket alle sine udregninger konkluderer han at han må have overset en systematisk fejl. Han er helt sikker på at der ikke var problemer med målingen af perioden $T$, så han spørger sig selv: Hvor stor skulle en systematisk fejl i længden $l$ være for at grænserne for den totale usikkerhed ''lige præcis'' inkluderer den accepterede værdi $979.6 \,\text{cm}/\text{s}^2$? Vis med MATLAB at svaret er ca. 1 cm.
 +
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Prøv at lave en udregning hvor du ændrer din værdi for $l$ en lille smule, og se hvor langt du så skal ændre den for at få en $g$ der passer med den korrekte $g$. Det kan evt. være en god idé at se lidt på <code>for</code>-løkker i MATLAB, så programmet kan iterere for dig.
 +
{{hidden end}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
[[File:uge1tors4fig2.png|frame|Plot der viser afstanden mellem den accepterede $g$ og den yderste SDOM grænse på den fundne $g$ når der er lagt $x$ til $l$.]]
 +
For at finde hvor stor fejlen skulle være for at den rigtige værdi er inden for SDOM, kan man lave et loop der lægger lidt ekstra til $l$, og så udregner forskellen mellem den fundne $g$ og den rigtige,
 +
 +
:<code>x = 0.1:0.1:1.2;</code>
 +
:<code>for i=1:length(x)</code>
 +
::<code>    g_new = 4*pi^2*(l+x(i))./T.^2;</code>
 +
::<code>    discr_new(i) = mean(g_new) + std(g_new)/sqrt(length(g_new)) - g_right;</code>
 +
:<code>end</code>
 +
 +
Den nemmeste måde at se resultatet på er ved at plotte det
 +
 +
:<code>plot(x,discr_new,'.b')</code>
 +
 +
Man kan se at den skærer 0 ca. omkring 1 cm (se figuren), hvilket netop var hvad der skulle vises.
 +
 +
Man kunne selvfølgelig også sammenligne den teoretiske værdi for $g$ med gennemsnits-værdien for sin udregnede $g$, hvilket selvfølgelig bare skal gøres ved at erstatte <code>discr_new</code> udregningen ovenfor med
  
 +
:<code>discr_new(i) = mean(g_new) - g_right;</code>
 
{{hidden end}}
 
{{hidden end}}
  
 
=== Spørgsmål d ===
 
=== Spørgsmål d ===
Dette resultat ville betyde at hans længdemålinger har en systematisk fejl på omkring en centimeter - en konklusion som han først afviser som absurd. Mens han stirrer på pendulet kommer han dog i tanke om at 1 cm er ca. radius af kuglen, og at de længder han har målt var  længderne ''af snoren''. Da den korrekte længde af et pendul er afstanden fra fastgørelsespunktet til ''centrum'' af kuglen (se figuren), er hans målinger altså systematisk blevet målt forkert med radius af kuglen. Han bruger derfor en skydelærer til at måle kuglens diameter, der viser sig at være 2.00 cm. Lav de nødvendige korrektioner til hans data og udregn hans endelige resultat for ''g'' med dennes usikkerhed.  
+
Dette resultat ville betyde at hans længdemålinger har en systematisk fejl på omkring en centimeter - en konklusion som han først afviser som absurd. Mens han stirrer på pendulet kommer han dog i tanke om at 1 cm er ca. radius af kuglen, og at de længder han har målt var  længderne ''af snoren''. Da den korrekte længde af et pendul er afstanden fra fastgørelsespunktet til ''centrum'' af kuglen (se figuren), er hans målinger altså systematisk blevet målt forkert med radius af kuglen. Han bruger derfor en skydelære til at måle kuglens diameter, der viser sig at være 2.00 cm. Lav de nødvendige korrektioner til hans data og udregn hans endelige resultat for $g$ med dennes usikkerhed.  
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
For at rette den systematiske fejl kan man bare lægge den ene cm til sine $l$-værdier,
  
 +
:<code>l = l + 1</code>
 +
 +
og så udregner man sin $g$-værdi forfra, ligesom det blev gjort før:
 +
 +
:<code>g = 4*pi^2*l./T.^2;</code>
 +
:<code>g_mean = mean(g)</code>
 +
:<code>sigma_mean = std(g)/sqrt(length(g))</code>
 
{{hidden end}}
 
{{hidden end}}
  
  
== Opgave 5 - Gauss-distributionen ==
+
== Opgave 5 - Gauss-fordelingen ==
Plot Gauss distributionen,
+
Plot Gauss-fordelingen (også kaldt normalfordelingen),
  
:[[File:uge1tors5eq1.png||]]
+
:$ G_{X,\sigma}(x) = \dfrac{1}{\sigma\sqrt{2\pi}} \exp{\left( -\dfrac{(x-X)^2}{2\sigma^2} \right)} , $
  
i den samme MATLAB figur for de følgende to sæt af parametre: ''X=''2, ''&sigma;=''1, og ''X=''3, ''&sigma;=''0.3. Tilføj en titel, labels på akserne, og en legend til dit plot, og sammenlign de to grafer.
+
i den samme MATLAB figur for de følgende to sæt af parametre: $X=2$, $\sigma=1$, og $X=3$, $\sigma=0.3$. Tilføj en titel, labels på akserne, og en legend til dit plot, og sammenlign de to grafer.
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
[[File:uge1tors5fig.png|frame|Plot af to forskellige Gauss-funktioner.]]
 +
Først definerer man sin $x$-akse, f.eks. ved
 +
 +
:<code>x = -2:0.05:6;</code>
 +
 +
Derefter giver man sine parametre
 +
 +
:<code>X1 = 2;</code>
 +
:<code>sigma1 = 1;</code>
 +
:<code>X2 = 3;</code>
 +
:<code>sigma2 = 0.3;</code>
 +
 +
til sidst kan man så udregne sine funktionsværdier ved
 +
 +
:<code>y1 = 1/( sigma1*sqrt(2*pi) ) * exp(-(x-X1).^2/(2*sigma1^2));</code>
 +
:<code>y2 = 1/( sigma2*sqrt(2*pi) ) * exp(-(x-X2).^2/(2*sigma2^2));</code>
 +
 +
Man kunne også definere en funktion for sin Gauss-fordeling ved definitionen
 +
 +
:<code>MinGauss = @(x,a,b) 1/( b*sqrt(2*pi) ) * exp(-(x-a).^2/(2*b^2));</code>
 +
 +
og med denne kan man bare skrive
 +
 +
:<code>y1 = MinGauss(x,X1,sigma1);</code>
 +
:<code>y2 = MinGauss(x,X2,sigma2);</code>
 +
 +
Til sidst plotter man de to funktioner sammen. Her kan man bruge at <code>plot</code> godt kan finde ud af at plotte flere funktioner af gangen:
  
 +
:<code>plot(x,y1,'r-',x,y2,'b-')</code>
 
{{hidden end}}
 
{{hidden end}}
  
  
 
== Opgave 6 - Binning ==
 
== Opgave 6 - Binning ==
I den følgende liste er der 40 målinger ''t''<sub>1</sub>,...,''t''<sub>40</sub> af tiden det tager en sten at falde fra et vindue til jorden (alle i  hundrededele sekunder):
+
I den følgende liste er der 40 målinger $t_1,\ldots,t_{40}$ af tiden det tager en sten at falde fra et vindue til jorden (alle i  hundrededele sekunder):
  
 
:{| cellpadding="2"
 
:{| cellpadding="2"
Line 166: Line 331:
  
 
=== Spørgsmål a ===
 
=== Spørgsmål a ===
Brug MATLAB til at udregne standardafvigelsen ''&sigma;<sub>t</sub> for alle 40 målinger.
+
Brug MATLAB til at udregne standardafvigelsen $\sigma_t$ for alle 40 målinger.
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Først og fremmest skal datasættet lige indlæses,
  
 +
:<code>t = [63 58 74 78 70 74 75 82 68 69 76 62 72 88 65 81 79 77 66 76 86 72 79 ...</code>
 +
::<code>77 60 70 65 69 73 77 72 79 65 66 70 74 84 76 80 69];</code>
 +
 +
Standardafvigelsen findes så simpelt med den indbyggede MATLAB funktion,
 +
 +
:<code>std(t)</code>
 
{{hidden end}}
 
{{hidden end}}
  
 
=== Spørgsmål b ===
 
=== Spørgsmål b ===
Udregn gennemsnittene ''&#773;t''<sub>1</sub>,...,''&#773;t''<sub>10</sub> af fire målinger af gangen (f.eks. af de fire målinger i hver af de 10 kolonner, eller af fire nabo-tal ad gangen). Du kan tænke på dataen som om den kom fra 10 eksperimenter, hvor man i hvert eksperiment fandt ''gennemsnittet af fire tidsmålinger''. Givet resultatet i del (a), hvad forventer du så at standardafvigelsen på de 10 gennemsnit ''&#773;t''<sub>1</sub>,...,''&#773;t''<sub>10</sub> er? Udregn den.
+
Udregn gennemsnittene $\overline t_1,\ldots,\overline t_{10}$ af fire målinger af gangen (f.eks. af de fire målinger i hver af de 10 kolonner, eller af fire nabo-tal ad gangen). Du kan tænke på dataen som om den kom fra 10 eksperimenter, hvor man i hvert eksperiment fandt ''gennemsnittet af fire tidsmålinger''. Givet resultatet i del (a), hvad forventer du så at standardafvigelsen på de 10 gennemsnit $\overline t_1,\ldots,\overline t_{10}$ er? Udregn den.
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
For at binne med fire målinger af gangen er det nemmest at arbejde med et loop der gør det automatisk for dig. For at bruge et generelt antal punkter at binne med defineres tallet først:
  
 +
:<code>ncol = 4;</code>
 +
 +
Herefter startes der to tomme arrays op - et til gennemsnittene, og et til standardafvigelserne (<code>zeros(n,m)</code> laver et $n\times m$ array der indeholder nuller i alle elementer):
 +
 +
:<code>gn = zeros(1,10);</code>
 +
:<code>sd = zeros(1,10);</code>
 +
 +
Et loop laver udregningerne:
 +
 +
:<code>for n = 0:9</code>
 +
::<code>  gn(n+1) = sum(t(n*ncol+1:n*ncol + ncol))/ncol;</code>
 +
::<code>  sd(n+1) = std(t(n*ncol+1:n*ncol + ncol));</code>
 +
:<code>end</code>
 +
 +
Man kan så endelig se <code>gn</code> og <code>sd</code> ved simpelthen at printe dem ud via kommandolinjen.
 +
 +
Ud fra del (a) ville man forvente at SD er fordelt omkring den SD man fandt tidligere, og det er også det der sker.
 
{{hidden end}}
 
{{hidden end}}
  
 
=== Spørgsmål c ===
 
=== Spørgsmål c ===
Plot histogrammer for både de 40 individuelle målinger ''t''<sub>1</sub>,...,''t''<sub>10</sub> og de 10 gennemsnit ''&#773;t''<sub>1</sub>,...,''&#773;t''<sub>10</sub>. Brug de samme skalaer og bin størrelser for begge plot, så de kan sammenlignes. Hvad forventer du af de to histogrammer, og ser de faktisk sådan ud?
+
Plot histogrammer for både de 40 individuelle målinger $t_1,\ldots,t_{10}$ og de 10 gennemsnit $\overline t_1,\ldots,\overline t_{10}$. Brug de samme skalaer og bin størrelser for begge plot, så de kan sammenlignes. Hvad forventer du af de to histogrammer, og ser de faktisk sådan ud?
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
[[File:uge1tors6fig.png|frame|De to histogrammer til sammenligning.]]
 +
For at plotte histogrammer der kan sammenlignes skal man bruge histc, hvor man kan vælge bin-grænser manuelt. Histogrammerne laves ved først at definere grænserne for bins'ene ved
  
 +
:<code>nbins = 5;  %antal bins</code>
 +
:<code>min = 58;  %position af første bin grænse</code>
 +
:<code>dist = 6;  %bredde af bins</code>
 +
:<code>max = min+nbins*dist;</code>
 +
:<code>edges = min:dist:max;</code>
 +
 +
For at kunne plotte bins'ene med en korrekt førsteakse skal man også finde centrum af hvert bin. Dette gøres med
 +
 +
:<code>centers = min+dist*0.5:dist:max+dist*0.5;</code>
 +
 +
Herefter udregnes histogrammerne med
 +
 +
:<code>hist40 = histc(t,edges);</code>
 +
:<code>hist10 = histc(gn,edges);</code>
 +
 +
og de kan nu plottes med <code>bar</code> funktionen,
 +
 +
:<code>figure</code>
 +
:<code>bar(centers,hist40,0.5,'y')</code>
 +
:<code>hold on</code>
 +
:<code>bar(centers,hist10,0.3,'r')</code>
 +
 +
Man kan tydeligt se at hist10 er mere centreret, som forventet.
 
{{hidden end}}
 
{{hidden end}}
 +
 +
 +
 +
== Samlede løsninger ==
 +
* Et samlet dokument med MATLAB kode til at løse alle opgaverne ovenfor kan hentes her: [[Media:opgaver_uge1_2_taylor.m|opgaver_uge1_2_taylor.m]]

Latest revision as of 12:43, 20 April 2014

Disse statistik-øvelser er redigerede udgaver af opgaverne 3.4, 3.25, 4.6, 4.28, 5.11 og 5.31 fra R. J. Taylor's An Introduction to Error Analysis.

Det er meningen af så meget som muligt af opgaverne skal laves i MATLAB.


Contents

Opgave 1 - Tælletal

Når en prøve med radioaktive atomer henfalder, vil antallet af radioaktive atomer falde, og prøvens radioaktivitet vil falde proportionalt med dette. For at undersøge denne effekt måler en fysiker på partiklerne der udsendes fra en radioaktiv prøve i løbet af to timer. Hun tæller antallet af partikler der udsendes i løbet af en 1 minut lang periode med halve timers intervaller, med følgende resultater:

Tid gået, $t$ (timer): 0.0 0.5 1.0 1.5 2.0
Antal tællinger, $\nu$, på 1 minut: 214 134 101 61 54

Spørgsmål a

Brug MATLAB til at plotte antallet af tællinger imod den tid der er gået. Inkludér errorbars for at vise usikkerheden på tallene. (Negligér usikkerheder i den tid der er gået).

Spørgsmål b

En teori forudsiger at antallet af udsendte partikler burde falde eksponentielt ved $\nu = \nu_0 \exp{(-rt)}$, hvor der (i dette tilfælde) gælder at $\nu_0 = 200$ og $r = 0.693 \,\text{hr}^{-1}$. Plot denne forventede kurve på din graf oven på din tidligere graf, og kommentér på hvor godt data ser ud til at passe med den teoretiske forudsigelse.

Bonus

I uge 3 skal I lære hvordan man fitter en funktion til datapunkter i MATLAB - så i stedet for at plotte en given kurve vil I skulle plotte den bedst fittede kurve til data.


Opgave 2 - Usikkerheden af et potensudtryk

Fra Barlow's regel (4.10) om usikkerheder af funktionsudtryk, ved vi at et $q = x^2$ har en relativ usikkerhed der er dobbelt så stor som den relative usikkerhed i $x$;

$ \dfrac{\sigma_q}{q} = 2 \dfrac{\sigma_x}{x} . $

Overvej nu det følgende (forkerte) argument: Vi kan tænke på $x^2$ som $x$ gange $x$, så

$ q = x \times x; $

derfor vil der ifølge Barlow's regel (4.14) gælde at

$ \dfrac{\sigma_q}{q} = \sqrt{ \left( \dfrac{\sigma_x}{x} \right)^2 + \left( \dfrac{\sigma_x}{x} \right)^2 } = \sqrt2 \dfrac{\sigma_x}{x} . $

Denne konklusion er forkert. Forklar hvorfor.

Bonus: Prøv at undersøge dette i MATLAB ved at sammenligne den relative usikkerhed (SD divideret med gennemsnitsværdien) for en række af tilfældige tal med den relative usikkerhed på samme række af tal kvadreret. Du kan evt. læse i MATLAB-hjælpen hvad funktionen randn gør.


Opgave 3 - Flere tælletal

I Barlow kap. 3.3.1 kan I læse at i et tælleeksperiment er usikkerheden på en tælling givet af "kvadratrods-reglen" til at være kvadratroden af tallet. Denne regel kan gøres mere præcis med følgende udsagn: Hvis man tager adskillige tællinger

$ \nu_1, \nu_2, \ldots, \nu_N $

af antallet $\nu$ af tilfældige hændelser der sker inden for tidsrummet $T$, så gælder der: (1) det bedste estimat for det sande gennemsnit af hændelser inden for tidsrummet $T$ er gennemsnittet $\overline\nu = \sum \nu_i/N$ af målingerne, og (2) standardafvigelsen (også kaldt SD, for Standard Deviation) af de observerede tal er approksimativt lig med kvadratroden af dette samme bedste estimat; altså, usikkerheden i hver måling er $\sqrt{\overline\nu}$. I specialtilfældet hvor der kun måles én gang, hvor man får et antal tællinger $\nu$, er det bedste estimat $\nu$, mens usikkerheden er kvadratroden $\sqrt\nu$.

En fysiker bruger en Geiger-tæller til at måle antallet af kosmiske partikler der kommer til hans laboratorie i givne to-sekunders intervaller. Han tæller dette tal 20 gange med følgende resultater:

10, 13, 8, 15, 8, 13, 14, 13, 19, 8,
13, 13, 7, 8, 6, 8 , 11, 12, 8, 7.

Spørgsmål a

Find gennemsnittet og standardafvigelsen (SD) på disse tal vha. MATLAB.

Spørgsmål b

Standardafvigelsen på tallene skulle gerne være ca. lig med kvadratroden på deres gennemsnit. Hvor godt passer dette?


Opgave 4 - Systematiske fejl

Et pendul består af en metalkugle der hænger i en snor. Den effektive længde af pendulet er længden af snoren plus radius af kuglen.

Systematiske fejl kommer nogle gange fra at fysikeren helt uvidende måler det forkerte. Her er et eksempel: En studerende forsøger af måle $g$ ved at bruge et pendul lavet af en stålkugle der hænger i en let snor (se figuren). Han måler fem forskellige længder af pendulet og de tilhørende perioder $T$ som følger:

Længde, $l$ (cm): 51.2 59.7 68.2 79.7 88.3
Periode, $T$ (s): 1.448 1.566 1.669 1.804 1.896.



Spørgsmål a

For hver datapar udregner han $g$ som $g = 4 \pi^2 l/T^2$. Han udregner derefter gennemsnittet af de fem værdier, deres SD, og deres SDOM. Ved at antage at alle hans fejl er tilfældige kan han bruge SDOM som sin endelige usikkerhed, og skriver sit resultat på standardformen gennemsnit $\pm$ SDOM. Find hans resultat for $g$ vha. MATLAB.

Spørgsmål b

Han sammenligner nu sit resultat med den accepterede værdi $g = 979.6 \,\text{cm}/\text{s}^2$ og forfærdes over at se at hans diskrepans (afvigelse fra den accepterede værdi) er tæt på 10 gange større end hans usikkerhed. Bekræft denne sørgelige konklusion.

Spørgsmål c

Efter at have gennemtjekket alle sine udregninger konkluderer han at han må have overset en systematisk fejl. Han er helt sikker på at der ikke var problemer med målingen af perioden $T$, så han spørger sig selv: Hvor stor skulle en systematisk fejl i længden $l$ være for at grænserne for den totale usikkerhed lige præcis inkluderer den accepterede værdi $979.6 \,\text{cm}/\text{s}^2$? Vis med MATLAB at svaret er ca. 1 cm.

Spørgsmål d

Dette resultat ville betyde at hans længdemålinger har en systematisk fejl på omkring en centimeter - en konklusion som han først afviser som absurd. Mens han stirrer på pendulet kommer han dog i tanke om at 1 cm er ca. radius af kuglen, og at de længder han har målt var længderne af snoren. Da den korrekte længde af et pendul er afstanden fra fastgørelsespunktet til centrum af kuglen (se figuren), er hans målinger altså systematisk blevet målt forkert med radius af kuglen. Han bruger derfor en skydelære til at måle kuglens diameter, der viser sig at være 2.00 cm. Lav de nødvendige korrektioner til hans data og udregn hans endelige resultat for $g$ med dennes usikkerhed.


Opgave 5 - Gauss-fordelingen

Plot Gauss-fordelingen (også kaldt normalfordelingen),

$ G_{X,\sigma}(x) = \dfrac{1}{\sigma\sqrt{2\pi}} \exp{\left( -\dfrac{(x-X)^2}{2\sigma^2} \right)} , $

i den samme MATLAB figur for de følgende to sæt af parametre: $X=2$, $\sigma=1$, og $X=3$, $\sigma=0.3$. Tilføj en titel, labels på akserne, og en legend til dit plot, og sammenlign de to grafer.


Opgave 6 - Binning

I den følgende liste er der 40 målinger $t_1,\ldots,t_{40}$ af tiden det tager en sten at falde fra et vindue til jorden (alle i hundrededele sekunder):

63 58 74 78 70 74 75 82 68 69
76 62 72 88 65 81 79 77 66 76
86 72 79 77 60 70 65 69 73 77
72 79 65 66 70 74 84 76 80 69

Spørgsmål a

Brug MATLAB til at udregne standardafvigelsen $\sigma_t$ for alle 40 målinger.

Spørgsmål b

Udregn gennemsnittene $\overline t_1,\ldots,\overline t_{10}$ af fire målinger af gangen (f.eks. af de fire målinger i hver af de 10 kolonner, eller af fire nabo-tal ad gangen). Du kan tænke på dataen som om den kom fra 10 eksperimenter, hvor man i hvert eksperiment fandt gennemsnittet af fire tidsmålinger. Givet resultatet i del (a), hvad forventer du så at standardafvigelsen på de 10 gennemsnit $\overline t_1,\ldots,\overline t_{10}$ er? Udregn den.

Spørgsmål c

Plot histogrammer for både de 40 individuelle målinger $t_1,\ldots,t_{10}$ og de 10 gennemsnit $\overline t_1,\ldots,\overline t_{10}$. Brug de samme skalaer og bin størrelser for begge plot, så de kan sammenlignes. Hvad forventer du af de to histogrammer, og ser de faktisk sådan ud?


Samlede løsninger



Personal tools
Namespaces
Variants
Actions
Navigation
Opgaver
Andet
Toolbox
Commercial