Stránky: 1
Ahoj vsichni, resim takovy problem a verim, ze takova koncentrace chytrych mozku, jako je tady by mi mohla pomoci a trosku me nasmerovat.
Merenim ziskam hodnotu Besselovy funkce prvniho druhu I(x): 
kde n je rad Besselovy funkce. Cilem je zjistit argument - hodnotu x. Jednim merenim (pro jeden rad n napr. n=0) nelze hodnotu x jednoznacne urcit vzhledem k nemotonnosti funkce I(x). Hodnotu n ale muzu menit hardwarove, takze muzu ziskat ruzne hodnoty I_n(x) pro ruzne hodnoty n (tedy napr. I_0(x), I_1(x), I_2(x),...). Napadlo me urcit hodnotu x resenim ulohy nejmensich ctvercu, kdy hledam x, pro ktere je residuum r minimalni
kde I(x)=J(x)_{n}^{2} je zmerena hodnota a J(x)_{n-teoreticka}^{2} je teoreticka hodnota Besselovy funkce pro daný řád n. Neexistoval-li by sum a pouzil-li bych alespon dva ruzne rady n, dostal bych r(x)=0 pro x, ktere je hledanym resenim.
Jednoduse receno merenim pro napr. n=0 naleznu kandidaty x, kteri splnuji
, ale pouze nekteri z nich splnuji dostatecne presne i podmínku získanou měřením s n=1, 2, ...
,
,... tedy pro spatne x "kazi" funkci r(x). Pouze spravne x bude mit r(x) blizke nule ve vsech pripadech (pro vsecchna n).
Otazka ma 2 roviny:
1) nenapada nekoho treba nejaky jiny zpusob, jak ziskat hodnotu x, znam-li funkci
pro ruzne rady n
2) pokud jsou nejmensi ctverce, jak popisuji vyse, rozumny postup, jak je realizovat? Doposud to mam reseny "hulvatsky", kdy FOR cyklem projizdim vsechny hodnoty
pro jednotlive n a porovnavam je s teroretickymi hodnotami, tim ziskam r(x), kde pak hledam minimum. Tento postup aplikuji v kazdem pixelu obrazu o cca 400x400 pixelu, takze je to dost neoptimalizovany a pomaly. Nejaky odkaz, reference, podobny problem, vhodna metoda? Nejsem matematik, takze snazim-li se napasovat neco ze skript numericke matematiky, obvykle koncim v depresi a nasledne na to v hospode, abych na tu depresi zapomnel. :)
Diky moc za vsechny pripadny rady, napady a inspiraci!
Drzte se a vsem hodne zdaru.
Pavel
Offline
↑ Pavel9:
Ahoj,
nic moc koncepčně lepšího ani užitečnějšího mě nenapadá. Snad jen malé technické vylepšení.
Budeš hledat minima výrazu (pozor na to, co a proč mocníš....):
Tedy vlastně budeš numericky řešit rovnici (pro nějaké předem zvolené n):
a hledanými výsledky budou ta x, která budou řešením této rovnice. Derivace je:
Protože Besselovy funkce spolu souvisejí zejm. následujícím způsobem:
a
a protože pro derivaci Besselovy funkce platí:
můžeš si zkusit derivaci r(x) upravit tak, aby byl výraz jednodušší v tom smyslu, že bude obsahovat pouze Besselovy funkce řádu 0 a 1. (spíš početně pracné, vůbec se mi nechce ověřovat, zda to vede k něčemu smysluplnému).
Potom ovšem skutečně dojde na hledání kořenů nelineární rovnice numerickou cestou. Protože je ale pravděpodobné, že na daném intervalu bude řešení více, stejně to nakonec povede na nějaký cyklus, kterým s předem zvoleným krokem projedeš interval možných řešení (a budeš doufat, že nemineš příliš "prudký" extrém). Pokud bys chtěl být precizní, můžeš okolí takto nalezených řešení výsledek upřesnit klasickými metodami. (jen pro úplnost, nakonec bys měl ověřit, že jde skutečně o lokální minima, tedy že je hodnota r(x) skutečně malá).
Offline
Stránky: 1