Jes Hansen wrote:
> Hvis jeg har lavet nogle målinger af en størrelse der kan beskrives ved
> en funktion f(x), og jeg har fundet usikkerheden på f(x), hvordan finder
> jeg så usikkerheden på funktionen g(t)= \int f(x) fra x0 til t?
For måling af en reel værdi: Hvis du kender y0 og usikkeheden dy
(standard deviation) så er sandsyneligheden for at måle y givet ved
P1(y)=exp[-(y-y0)²/(2 dy*dy)]/sqrt(2Pi dy²) (normeringen er et gæt)
Dette er forudsat at din statistik er gaussisk hvad den normalt
er for målinger, dog. er tælle tal Poisson fordelt.
Det samme udtryk gælder for enhver x med y0=f(x) og dy=df(x)
P2(h(x))= produkt_x exp[-(h(x)-f(x))²/(2 df(x)*df(x))]/sqrt(2Pi df(x)²)
Hvor exp skal ganges for hvert punkt mellem x fra x0 til t. Det syntes
besværligt men hvis df(x)=df uafhængig af x så
= exp[ - integral (h(x)-f(x))²/(2 df²) dx] / sqrt(2pi df²)
P2 er altså sandsyneligheden for at måle h(x) hvis gennemsnitsmålingen
vil give f(x) med usikkerhed df.
Hvis værdien g(t) = \int f(x) dx så er sandsyneligheden for at måle
g(t) givet ved
P3[g(t)] = P2(h(x)) \int h(x) dx fra x0 til t
Og usikkerheden af g(t) er altså sqrt(<g(t)²>-<g(t)>²) hvor
<y^n> = integral P3[y] y^n dy
Det er den teoretiske synspunkt. Følgende er det samme i praktisk
implementering:
Rent praktisk så kan du tage din målte f(x) og generere en familie
af kurver h(x)=f(x)+F(x) hvor F(x) er et tilfældigt tal med en
Gaussisk fordeling med standard deviation df(x). Det giver dig
en mængde af h(x) funktioner, fx. 100 funktioner, der fluktuere
omkring f(x).
For hver h(x) funktion udregner du integralet, det giver dig en
mængde af g(t) værdier. Og fra denne mængde af værdier kan du
udregne usikkerheden på helt normalt vis.
Det du gør at at du sampler 100 funktioner fra P2 fordelingen,
og udregner 100 g(t) samples fra P3 fordelingen. Usikkerheden af
disse 100 samples, vil derfor være en god tilnærmelse af
standard deviation af P3 fordelingen, og det er usikkerheden du søger.
Se Numerical Recepies kap. 15. For Monte Carlo error estimation.
> Tilsvarende hvis jeg har lavet en række målinger der kan beskrives ved
> en funktion h(x,z) og jeg igen har fundet usikkerheden på h, hvordan
> finder jeg så usikkerheden på j(t) = d/dt(h(x,t)) | x = x0?
P3[j(t)] = P2[h(x)] * d/dt h(x,t)
Samme trick som ovenover.
--
Mvh. Carsten Svaneborg
Hvilke softwarepatenter har du krænket idag?
Se
http://www.softwarepatenter.dk