opgaver:Uge3

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
I denne opgave skal I arbejde med fitning som forklaret i Taylor kapitel 8. I skal her selv lave et datasæt, og lærer derfor også hvordan man genererer tilfældige tal i MATLAB. Opgave 2 og 3 er uafhængige, og kan laves i den rækkefølge I har lyst til.
+
I denne opgave skal I arbejde med fitning som forklaret i Barlow kapitel 6<!--Taylor kapitel 8-->. I skal her selv lave et datasæt, og lærer derfor også hvordan man genererer tilfældige tal i MATLAB. Opgave 2 og 3 er uafhængige, og kan laves i den rækkefølge I har lyst til.
  
 
'''Denne side er stadig ikke blevet opdateret til 2013 versionen af kurset, hvor vi ikke længere bruger Taylors! Denne retning bliver lavet i løbet af weekenden!'''
 
'''Denne side er stadig ikke blevet opdateret til 2013 versionen af kurset, hvor vi ikke længere bruger Taylors! Denne retning bliver lavet i løbet af weekenden!'''
Line 7: Line 7:
  
 
=== Spørgsmål 1 - Lineær model ===
 
=== Spørgsmål 1 - Lineær model ===
Antag at I har en lineær model som i Taylor afsnit 8.2,
+
Antag at I har en lineær model som i Barlow afsnit 6.2<!--Taylor afsnit 8.2-->,
  
 
:$y = A + B x .$
 
:$y = A + B x .$
Line 13: Line 13:
 
Vælg passende værdier af <code>A</code> og <code>B</code> og lav en vektor <code>x</code> med målepunkter, f.eks. <code>A = 0</code>, <code>B = 1</code>, <code>x = -2:0.1:2</code>. Lav nu en vektor med den "sande" <code>y</code> ud fra modellen. Vælg en usikkerhed for målingerne, og læg en normalfordelt støj til hver måling - brug MATLAB funktionen <code>randn()</code>. Plot målingerne (med usikkerhederne) og den "sande" model i samme plot.  
 
Vælg passende værdier af <code>A</code> og <code>B</code> og lav en vektor <code>x</code> med målepunkter, f.eks. <code>A = 0</code>, <code>B = 1</code>, <code>x = -2:0.1:2</code>. Lav nu en vektor med den "sande" <code>y</code> ud fra modellen. Vælg en usikkerhed for målingerne, og læg en normalfordelt støj til hver måling - brug MATLAB funktionen <code>randn()</code>. Plot målingerne (med usikkerhederne) og den "sande" model i samme plot.  
  
Beregn lineær regression ud fra Taylor og find de estimerede værdier for <code>A</code> og <code>B</code>, og beregn den fittede modelværdi, <code>y_fit</code>. Plot <code>y_fit</code> oveni det forrige plot og se hvor godt fittet er. Beregn den reducerede $\chi^2$, givet ved
+
Beregn lineær regression ud fra Barlow og find de estimerede værdier for <code>A</code> og <code>B</code>, og beregn den fittede modelværdi, <code>y_fit</code>. Plot <code>y_fit</code> oveni det forrige plot og se hvor godt fittet er. Beregn den reducerede $\chi^2$, givet ved
  
 
:$\dfrac{\chi^2}{N-P} ,$
 
:$\dfrac{\chi^2}{N-P} ,$
Line 19: Line 19:
 
hvor $N$ er antal datapunkter og $P$ er antal fit-parametre.  
 
hvor $N$ er antal datapunkter og $P$ er antal fit-parametre.  
 
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
Start med at udregne selve den teoretiske linie <code>y_model</code>, ved at definere <code>A</code>, <code>B</code> og din <code>x</code>-akse. Definér derefter en <code>sigma</code> du vil bruge som din usikkerhed. Så kan din y udregnes som <code>y_model</code> plus en vektor der består af Gaussisk fordelte tal med spredning <code>sigma</code> og centrum nul.
+
Start med at udregne selve den teoretiske linie <code>y_model</code>, ved at definere <code>A</code>, <code>B</code> og din <code>x</code>-akse. Definér derefter en <code>sigma</code> du vil bruge som din usikkerhed. Så kan din $y$ udregnes som <code>y_model</code> plus en vektor der består af Gaussisk fordelte tal med spredning <code>sigma</code> og centrum nul.
 
{{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}}

Revision as of 14:36, 3 May 2013

I denne opgave skal I arbejde med fitning som forklaret i Barlow kapitel 6. I skal her selv lave et datasæt, og lærer derfor også hvordan man genererer tilfældige tal i MATLAB. Opgave 2 og 3 er uafhængige, og kan laves i den rækkefølge I har lyst til.

Denne side er stadig ikke blevet opdateret til 2013 versionen af kurset, hvor vi ikke længere bruger Taylors! Denne retning bliver lavet i løbet af weekenden!


Contents

Opgave 1 - Fitning

Spørgsmål 1 - Lineær model

Antag at I har en lineær model som i Barlow afsnit 6.2,

$y = A + B x .$

Vælg passende værdier af A og B og lav en vektor x med målepunkter, f.eks. A = 0, B = 1, x = -2:0.1:2. Lav nu en vektor med den "sande" y ud fra modellen. Vælg en usikkerhed for målingerne, og læg en normalfordelt støj til hver måling - brug MATLAB funktionen randn(). Plot målingerne (med usikkerhederne) og den "sande" model i samme plot.

Beregn lineær regression ud fra Barlow og find de estimerede værdier for A og B, og beregn den fittede modelværdi, y_fit. Plot y_fit oveni det forrige plot og se hvor godt fittet er. Beregn den reducerede $\chi^2$, givet ved

$\dfrac{\chi^2}{N-P} ,$

hvor $N$ er antal datapunkter og $P$ er antal fit-parametre.

Spørgsmål 2 - Gentagelse

Gentag dette "numeriske forsøg" et antal gange (f.eks. 100) og gem for hver gang fittets parametre. Brug hist() til at finde fordelingen af A, B, og reduceret $\chi^2$. Sammenlign med den estimerede usikkerhed på A og B, og undersøg evt. korrelationen mellem A og B (plot f.eks. A vs. B).

Spørgsmål 3 - Automatisk fitning i MATLAB

Prøv at anvende MATLABs fittefunktion fit(x,y,'funktion') og sammenlign med jeres egen lineære regression.


Samlede løsninger

  • Et samlet dokument med MATLAB kode til at løse alle opgaverne ovenfor kan hentes her: opgaver_uge3_fits.m


Personal tools
Namespaces
Variants
Actions
Navigation
Opgaver
Andet
Toolbox
Commercial