opgaver:Uge4

(Difference between revisions)
Jump to: navigation, search
Line 89: Line 89:
  
 
=== Spørgsmål 2 - Flere måleserier ===
 
=== Spørgsmål 2 - Flere måleserier ===
Kør 100 måleserier og lav histogrammer over fitværdierne. Brug histogrammer til at bestemme præcisionen af eksperimentet.
+
Kør 100 måleserier og lav histogrammer over fitværdierne. Brug histogrammerne til at bestemme præcisionen af eksperimentet.
 +
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Du skal bare bruge den samme kode som du brugte til spørgsmål 1, men nu skal du "pakke" den ind i et loop, hvor du yderligere gemmer dine fit-parametre i arrays, så de kan plottes bagefter.
 +
{{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}}
 +
For at gøre dette, skal man lave et loop over adskillige data-simulationer og fits. Som det første skal man initialisere arrays der skal gemme fit-parametrene:
  
 +
:<code>N = 100;</code>
 +
:<code>a_fit = zeros(1,N);</code>
 +
:<code>b_fit = zeros(1,N);</code>
 +
:<code>x0_fit = zeros(1,N);</code>
 +
:<code>sig_fit = zeros(1,N);</code>
 +
 +
Herefter kan man starte sit loop lige før man udregner sine eksperiment-data, altså
 +
 +
:<code>for j = 1:N</code>
 +
::<code>y_exp = abs(round( y_model + err_model .* randn(size(err_model)) ));</code>
 +
::<code>...</code>
 +
 +
Fit parametrene gemmes, og så kan loopet stoppes igen,
 +
 +
:<code>...</code>
 +
::<code>a_fit(j)  = f1.a/t;
 +
::<code>x0_fit(j)  = f1.b;
 +
::<code>sig_fit(j) = f1.c;
 +
::<code>b_fit(j)  = f1.d/t;
 +
:<code>end</code>
 +
 +
Herefter kan man lave histogrammer over parametrene ved hjælp af MATLAB's <code>hist</code> funktion, og se på formen af dem. F.eks. kan man bestemme bredden af distributionerne, for at se hvor nemt det var for fittet at finde den rigtige værdi.
 
{{hidden end}}
 
{{hidden end}}
  
Line 97: Line 123:
 
(SVÆRT) Hvis der er 100 sekunder til rådighed, hvordan skal målingen så planlægges for at bestemme liniens midtpunkt bedst? Og hvad med liniens bredde?
 
(SVÆRT) Hvis der er 100 sekunder til rådighed, hvordan skal målingen så planlægges for at bestemme liniens midtpunkt bedst? Og hvad med liniens bredde?
 
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
+
Tænk over hvordan du ville gøre hvis du faktisk sad ved et eksperiment og intet vidste på forhånd. Ville du bare gå i gang fra en ende af og måle punkt efter punkt, eller ville du hoppe rundt og håbe på at du var heldig? Tænk over forskellige fordele og ulemper.
 
{{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}}
 +
Som en første iteration kan man se hvad der sker med statistikken hvis man måler på en ligelidt opdelt linie, med samme tælletid for hvert punkt. Start med at omdefinere din værdi af <code>t</code> til at blive udregnet med
 +
 +
:<code>t_meas = 100;</code>
 +
:<code>t = t_meas / length(x_exp);</code>
 +
 +
hvor <code>t_meas</code> er den totale tid der skal måles i. Nu kan du køre dit loop, og se på distributionen af dine fitte-parametre.
 +
 +
  
 +
:<code></code>
 
{{hidden end}}
 
{{hidden end}}
  

Revision as of 10:46, 7 March 2012

I denne opgave skal I, lige som i sidste uge, fabrikere jeres egne data - denne gang en Gaussisk linieprofil med en bestemt bredde og placering, med Poisson statistik på tælletallene.


Contents

Opgave 1 - Spektrometer

Vi forestiller os et spektrometer, der tæller fotoner som funktion af bølgelængde; én bølgelængde ad gangen. Vi skal måle en enkelt spektrallinie. Liniens amplitude er 100 tællinger per sekund, liniens centrum 5000 Å, og den har bredde ($\sigma$) 50 Å. Der er en baggrund på 10 tællinger per sekund. Usikkerheden på tællinger er givet som $\sqrt{N}$ tællestatistik, og antages gaussisk.

Spørgsmål 1 - Simulation af data

Simulér en måleserie fra 4500 Å til 5500 Å med step af 10 Å, ét sekund per punkt. Brug MATLAB fit funktionen til at fitte en Gaussisk linieprofil til dataen. Vis de simulerede data og det bedste fit i samme plot.

Spørgsmål 2 - Flere måleserier

Kør 100 måleserier og lav histogrammer over fitværdierne. Brug histogrammerne til at bestemme præcisionen af eksperimentet.

Spørgsmål 3 - Planlægning af måling

(SVÆRT) Hvis der er 100 sekunder til rådighed, hvordan skal målingen så planlægges for at bestemme liniens midtpunkt bedst? Og hvad med liniens bredde?

Spørgsmål 4 - Stor baggrund

(SVÆRT) Lad baggrunden være 100 tællinger per sekund og amplituden være 10 tællinger per sekund. Hvor længe skal der tælles for at det kan afgøres, om der er en peak (amplitude signifikant større end nul)?



Personal tools
Namespaces
Variants
Actions
Navigation
Opgaver
Andet
Toolbox
Commercial