Předpokládejme, že máme funkci $ u $ definovanou v kouli diskrétním způsobem: známe pouze hodnoty $ u $ v uzlech $ (i, j, k) $ sférické mřížky, kde $ i $ je souřadnice poloměru, $ j $ je souřadnice pro úhel $ \ varphi $, $ k $ je souřadnice pro úhel $ \ psi $ .
Zvažte vektorovou funkci $$ \ nabla u_ {i, j, k} = \ left (\ frac {\ částečné u} {\ částečné r} _ {i, j, k}, \ frac {1} {r_i \ sin \ psi_k} \ frac {\ částečné u} {\ částečné \ varphi} _ {i, j, k}, \ frac {1} {r_i} \ frac {\ částečné u} {\ parciální \ psi} _ {i, j, k} \ vpravo) – $$ gradient $ u $.
Potřebuji znát hodnoty $ \ nabla u_ {i, j, k} $ na ose z ve kartézských souřadnicích, což odpovídá $ \ psi = 0 $ – osa ve sférických souřadnicích, ale nemůžeme použít výše uvedený vzorec, protože v případě $ \ psi = 0 $ se druhý člen změní na nekonečno.
Ve skutečnosti můžeme najít hodnoty $ \ frac {\ částečné u} {\ částečné z} $ pomocí vzorce numerické derivace, ale máme problém s hledáním $ \ frac {\ částečné u} {\ částečné x} $, $ \ frac {\ částečné u} {\ částečné y} $, protože mřížka není obdélníková. Můžete mi s tím pomoci a poradit mi, co mám dělat?
Komentáře
- Nemohli byste vypočítat číselnou derivaci v $ (r, \ varphi, \ psi) $ souřadnicový systém? To by vám mělo dát vektor, který pak můžete promítnout na $ x $ – $ y $ – a $ z $ -axes, abyste získali $ x $ – $ y $ – a $ z $ -komponenty přechodu
- Ne, nemůžeme vypočítat číselnou derivaci, protože pro $ \ psi = 0 $ $ \ varphi $ -angle není definován a ve vzorci máme singularitu.
- Pravděpodobně existuje řešení pomocí čtveřic, ale je trochu složité zjistit, co přesně to vypadá jako wrt. vaše nomenklatura. Efekt, se kterým se snažíte bojovat, se běžně označuje jako " gimbal-lock "
- Našel jsem jednu variantu, jak se s těmito věcmi vypořádat správně: zde můžeme použít metodu nejmenších čtverců pro rekonstrukci gradientu, ale nenašel jsem přesné vysvětlení, jak ji použít
- Možná je to ' – pro mírně vychované $ u $$ – že $ \ lim _ {\ psi \ to 0} \ frac {1} {\ sin \ psi} \ frac {\ částečné u} {\ částečné \ phi} = 0 $. Ale nemyslím si ' že střední složka vašeho vektoru má význam, takže pokud to ' zapojíte do diferenciální rovnice v polárních souřadnice diferenciální rovnice nemusí mít střední váhu žádnou váhu.
Odpověď
Existují 3 způsoby, jak vyhněte se této situaci, ale před použitím je třeba zkontrolovat, zda je tento způsob vhodný kvůli chybě výpočtu:
1) Metoda Green-Gaussových buněk: zde se používá definice přechodu:
$$ \ nabla u_i \ přibližně \ frac {1} {V_ {i}} \ int \ limity _ {\ částečné V_i} ud \ overline {S} \ přibližně \ součet \ limity_ {k = 1} ^ {n} {u_ {f_k} S_k \ overline {n} _k}, $$ kde $ k $ – počet sousedů buňky $ V_ {i} $
2) Metoda nejmenších čtverců: chyba
$$ \ sum \ limits_ {k = 1} ^ {n} {\ frac {1} {d_ {ik}} E_ {i, k} ^ {2}}, E_ {i, k} = \ nabla u_i \ cdot \ Delta r_ {i, k} + u_i-u_k $$ musí být minimalizovány, proto získáme komponenty $ \ nabla u_i $
3) Interpolační metoda. Hodnota přechodu je interpolována z hodnot funkce vektoru přechodu.