[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Finde globalt max/min



g(k) har ikke en form der kan udtrykkes med et funktionsudtryk [det er
en anden del af projektet, men ikke relevant her]. 

Det er derfor ikke muligt af fitte en analytisk funktion. Selvfølgelig
kunne man tilpasse et polynomie af passende orden men dette er ikke
ønsket. Det kan selvfølgelig være jeg ikke slipper udenom et
polynomiefit. Betragtninger vedr. symmetri omkring et toppunkt er også
korrekte, men ikke anvendelige da jeg typisk har for få samples til
rådighed. 

Jeg tror jeg egentlig må til at fitte et 4.-6. grads polynomium - det
tage bare for lang tid :-(

BTW, så er den nuværende kode scripts til matlab, man skal senere
porteres til c under RT-Linux.

Mvh.
	Nicolai Hanssing

FUT - scicomp

Niels Langager Ellegaard wrote:
> 
> Nicolai Hanssing <sslug@sslug> writes:
> 
> > Kender i en algoritme til at finde et lokalt/globalt max/min for en
> > skalar funktion, hvor signalet er overlejret med støj?:
> > bestem        max(g(k)),
> > udfra f(k)=g(k) + e
> >
> > g(k) er ikke symmetrik omkring toppunktet, og derfor mener jeg ikke
> > Center-of-Gravity kn anvendes... Andre ideer?  Man kan selvfølgelig
> > lave noget filtrering, men det reducere kun variansen og jeg har et
> > endeligt antal samples tilrådighed.
> 
> Jeg er lidt forvirret over hvad du mener. Så vidt jeg har forstået
> starter du med et datasæt på følgende form:
> k_1    k_2    k_3    ...
> f(k_1) f(k_2) f(k_3) ...
> 
> Derefter leder du efter x, således at g'(x)=0. Der er sikkert flere
> metoder til at gøre dette, men du kunne jo starte med at gætte på
> hvordan g ser ud. Jeg har ikke set dine data, men lad os bare sige at
> eksisterer a, b og c således at g kan skrives sådan her
> 
> g(x) = a*exp(-(x-b)^2/c)
> 
> (Det kan de nok ikke, men så må du finde en anden g). Nu kan du fitte
> din funktion. Det kan du gøre ved at finde a b og c, der minimerer
> 
> \sum_n  (f(k_n) - g(k_n))^2
> 
> (Hvis du antager at e er normalfordelt og uafhængig af k, så svarer
> dette til at finde log likelihood estimatet). Nu har du a, b og
> c. Derefter kan du differentiere g og finde x således at g'(x)=0.
> 
> Nu er det lidt tid siden at jeg har haft statistik, men så vidt jeg
> husker (og det er nok forkert) er det sådan at hvis du antager at g er
> en normalforelt, så ender du med at lede efter et vægtet massecentrum
> af dine data.
> 
> Måske skal du kun tage de punkter med, der ligger tæt på toppunktet,
> men det må du selv fifle lidt rundt med.
> 
> Hmm måske burde vi hoppe over på sci-comp listen, så vi kan få lidt
> gang i den. Om ikke andet, så tror jeg at det er lettere for dig at
> lave databehandlig i octave/matlab end det er at bruge c. Man kan vist
> også inkludere ocatve i c, men det har jeg aldrig selv prøvet.
> 
> Held og lykke :)
> 
> --
> Niels L Ellegaard  http://dirac.ruc.dk/~gnalle/
> SPECIAL OFFER! I proofread unsolicited commercial email sent to this
> address at a rate of US $500.00 per incident!  Include billing address
> in your message and save US $500.00 per hour off ordinary address
> resolution and tracking charge!


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *