Konvolucija

O matematiki, številih, množicah in računih...
Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Konvolucija

Odgovor Napisal/-a Aniviller »

Aja to si ze naredil konvolucijo. No saj to pomeni da ze imas porazdelitev po vektorjih razdalje med tockama in imas trojni integral z drugo funkcijo...
No to lahko recimo zmnozis in razcepis na vec integralov. Od enk dobis tisto kar sem ze jaz izracunal. Pri xdx ydy zdz lahko uvedes nove spremljivke u=x^2,v=y^2,w=z^2 in dobis pogoj
u+v+w<aa
To tudi gre - to bi slo se na pamet :)
Mesani cleni bodo pa oblike
u+y^2+z^2<aa
Tukaj pa lahko das
y^2+z^2<aa-u
in najprej zintegriras y in z (to bo nekaj takega v dveh delih, le namesto radija bo notri nekaj drugega), potem pa se po u.

Mislim da bi na ta nacin moralo iti vse. Imas 4 razlicne integrale, ostali se ponavljajo. Tisti s samimi kvadrati v Booleju je zgoraj resen, tisti brez kvadratov je trivialen (sekanje z ravnino), tisti z enim in tisti z dvemi kvadrati bodo pa bodo tudi podobni. V koncni fazi bi moralo it do konca, pa tudi ce bo rezultat grd. Tukaj imas sreco da mathematica lahko brez tezav sesteva funkcije ki so podane po kosih.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Konvolucija

Odgovor Napisal/-a Popotnik »

Aniviller napisal/-a:Aja to si ze naredil konvolucijo. No saj to pomeni da ze imas porazdelitev po vektorjih razdalje med tockama in imas trojni integral z drugo funkcijo...
No to lahko recimo zmnozis in razcepis na vec integralov. Od enk dobis tisto kar sem ze jaz izracunal. Pri xdx ydy zdz lahko uvedes nove spremljivke u=x^2,v=y^2,w=z^2 in dobis pogoj
u+v+w<aa
To tudi gre - to bi slo se na pamet :)
Mesani cleni bodo pa oblike
u+y^2+z^2<aa
Tukaj pa lahko das
y^2+z^2<aa-u
in najprej zintegriras y in z (to bo nekaj takega v dveh delih, le namesto radija bo notri nekaj drugega), potem pa se po u.

Mislim da bi na ta nacin moralo iti vse. Imas 4 razlicne integrale, ostali se ponavljajo. Tisti s samimi kvadrati v Booleju je zgoraj resen, tisti brez kvadratov je trivialen (sekanje z ravnino), tisti z enim in tisti z dvemi kvadrati bodo pa bodo tudi podobni. V koncni fazi bi moralo it do konca, pa tudi ce bo rezultat grd. Tukaj imas sreco da mathematica lahko brez tezav sesteva funkcije ki so podane po kosih.
In ako prav razumem:

xyz:

Koda: Izberi vse

Integrate[Boole[(u + v + w) < aa], {u, 0, 1}, {v, 0, 1}, {w, 0, 1}, 
 Assumptions -> {aa > 0, Element[aa, Reals]}]
xy:

Koda: Izberi vse

Integrate[Boole[y^2 + z^2 < aa - u], {y, 0, 1}, {z, 0, 1}, {u, 0, 1}, 
 Assumptions -> {aa > 0, Element[aa, Reals]}]
x: Kak je tu?
1:

Koda: Izberi vse

Integrate[
 Boole[(x^2 + y^2 + z^2) < aa], {x, 0, 1}, {y, 0, 1}, {z, 0, 1}, Assumptions -> {aa > 0, Element[aa, Reals]}]

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Konvolucija

Odgovor Napisal/-a Aniviller »

Tako ja. Saj kar smo s tem pridobili je, da ce mu kaj ne bo vsec, lahko recimo pri xy integral po u izpustis, das bb=aa-u in po u naknadno integriras. Samo po moje bo to res znal sam narest.
Ker drugace to prestavljanje cez neenacaj mathematica ze sama naredi. To je bolj za primer ce mora clovek posegat v postopek.

Pri x je isto:

Koda: Izberi vse

Integrate[Boole[ z^2 < aa - u-v],  {z, 0, 1}, {u, 0, 1},{v, 0, 1},
Assumptions -> {aa > 0, Element[aa, Reals]}]
Oziroma ce to ne bo slo, lahko z posebej integriras in smatras desni del neenacaja kot eno spremenljivko.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Konvolucija

Odgovor Napisal/-a Popotnik »

Nak, ne bo šlo. Vse štiri člene sem umeril na območju 0 < r < 1, ker za to območje imam tudi rezultat, izračunan na klasičen način. Od tod sem torej potegnil štiri konstante oz. uteži. In ko sem si narisal plot območja od 1 do \(\sqrt{2}\), se je od daleč videlo, da ta del ne more biti vezen s prvim delom.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Konvolucija

Odgovor Napisal/-a Aniviller »

Hm... sumljivo no. Jaz bi kot prvo se enkrat preveril konvolucijski rezultat (izgleda v redu ampak rajsi se enkrat). Pa konstant ne umerjaj s primerjavo... lahko je vec kot en nacin za sestavit skupaj. Utezi dobis direktno od mnozenja tistega produkta (pa polovick pri zamenjavi spremeljivk u=x^2 in podobno). V glavnem, pojdi cez cel postopek sam od zacetka, lahko da se kje skriva kaksna majhna napaka. Mogoce celo kaksen predznak, ceprav dvomim.

gnu
Prispevkov: 111
Pridružen: 1.3.2010 12:20

Re: Konvolucija

Odgovor Napisal/-a gnu »

Če ne bo šlo, je tule http://www.math.kth.se/~johanph/habc.pdf odgovor.

lp

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Konvolucija

Odgovor Napisal/-a Aniviller »

O super, gnu, hvala za tale link. Jaz nekako nisem pomislil na to da bi poiskal reseno verzijo... ne vem zakaj ne.

No saj mislim da bo slo (ze za vajo je dobro) - ce grobo pogledas smo vse te izraze ki notri nastopajo ze videli med racunanjem tako da je treba samo prav sestet pa kaksno napako odpravit.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Konvolucija

Odgovor Napisal/-a Popotnik »

Hvala Anivillerju za ves trud in gnuju za pripopano povezavo do dokumenta.

Rezultat od Mathematice pa zgleda napačen - je zelo dolga klobasa. Možno, da tudi zaradi tega, ker ta računa s kompleksnimi števili. Rezultate mi je sortirala tudi glede na neke pogoje imaginarnih vrednosti izrazov.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Konvolucija

Odgovor Napisal/-a Aniviller »

Ja vecine kompleksnih izrazov se izognes ce mu podas vse assumptione. Ostali gredo pa lahko stran ce das na rezultatu FullSimplify. Saj vidis na tistem primeru ki sem ga jaz izracunal. Je cel pogoj z imaginarnimi stevili sel stran. Pa imaginarni rezultati niso nujno napacni: recimo imaginarna stevila v logarimu lahko pomenijo da je tisto v resnici arkus tangens...

sanej
Prispevkov: 71
Pridružen: 25.8.2010 18:00

Re: Konvolucija

Odgovor Napisal/-a sanej »

nekako ne dojamem najbolje konvolucije.

Za a iz realnih števil imam \(\[ f_a(x) = e^{-ax^{2}} \]\) izračunati pa moram \(\[ f_a \ast f_b \]\) za realni števili a in b.

začel sem takole \(\[ f_a \ast f_b = \int_{-\infty}^\infty e^{-at^{2}} e^{-a(x-t)^{2}} \, \mathrm{d}t \]\) pa se mi je zelo hitro ustavilo

potem sem probal \(\[ \widehat{f_a \ast f_b} = \widehat{f_a}\widehat{f_b}\) tu pa imam dve furierove transformacije za izračunat in potem

še inverz. ki pa tudi nista trivialne \(\[ \widehat{f_a(x)} = \int_{-\infty}^\infty e^{-at^{2}} e^{-ixt} \, \mathrm{d}t\) kjer me pa tudi neskončnosti uničijo.

Bi mi znal kdo pomagati?? hvala

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Konvolucija

Odgovor Napisal/-a shrink »

No, nimaš dveh Fourierovih transformacij za izračunat, ker je samo razlika v parametru: enkrat je a, drugič je b.

Fourierovo transformiranko funkcije \(f_a(x)=e^{-ax^2}\) najdeš v tabeli transformirank, kar ni presenečenje, saj gre za obliko zelo pomembne (Gaussove) funkcije:

\(\displaystyle \[ \widehat{f_a(x)}=\sqrt{\frac{\pi}{a}}\cdot e^{-\frac{\omega^2}{4a}}\)

Sedaj lepo izračunaš Fourierovo transformacijo konvolucije \(f_a(x)\) in \(f_b(x)\) na način (s produktom transformirank), kot si ga že sam nastavil. Seveda ugotoviš, da je produkt enake oblike kot transformiranka posamezne funkcije, iz česar sledi, da je inverzna transformiranka spet oblika Gaussove funkcije oz. z drugimi besedami: konvolucija Gaussovih funkcij je spet Gaussova funkcija.

Če slučajno zahtevajo od tebe tudi izračun transformiranke, obstaja eleganten način za to (za svoje potrebe uporabi ustrezno drugo obliko); glej npr.:

http://www.cse.yorku.ca/~kosta/CompVis_ ... ussian.pdf

Edino pazi na en vmesni korak, ko da imaginarno enoto v imenovalec brez pojasnila za to, da se znebi minusa.

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Konvolucija

Odgovor Napisal/-a shrink »

Pa še to: v omenjenem pdf-ju sta dva tiskarska škrata (mogoče je še kakšen). Moralo bi biti \(\ln G(0)=0\) oz. \(G(0)=1\), pa še minus v en. (9) na desni strani manjka.

sanej
Prispevkov: 71
Pridružen: 25.8.2010 18:00

Re: Konvolucija

Odgovor Napisal/-a sanej »

Živjo.

imam še eno dilemo. In sicer izračunat Fourierovo transformacijo za \(f(x)= x\exp^{-x^2}\) in potem še določit konvolucijo te f(x) z lastno funkcijo fourierove transformiranke.

V tabeli je \(x^nf(x) = i^n \frac{\partial^n \widehat{f(\lambda)}} { \partial \lambda^n}\)

Kako pa se tega lotim brez tabele?
probal sem dvoje

1 integrirati po definiciji od nič do \(\infty\) pa ni najlepše

2 zapišem \(f(x) = -g'(x)g(x)\) pri čemer je g(x) lastna funkcija fourierove transformacije. Kako bi se tu izvil ??

uporabil bi lastnost \(g(t) = f(t)\exp^{iat} je \widehat{g}(\lambda) = \widehat{f}(\lambda - a)\) pa mislim, da se je ne da..

Konvolucijo potem ne bo težko dobiti.
Hvala

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Konvolucija

Odgovor Napisal/-a Aniviller »

No ta zveza za \(x^n f(x)\) je res dober nacin. To je ena izmed najbolj temeljnih lastnosti fourierove transformacije (to da spremeni odvod v mnozenje), isti postopek pa vseeno lahko izvedes tudi, ce tega pravila ne poznas: integriras per partes. 2. metoda te privede do per partesa: g'(x)g(x)=(g^2(x))'/2.

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Konvolucija

Odgovor Napisal/-a shrink »

Do omenjene zveze prideš čisto enostavno preko odvajanja transformiranke po frekvenci; glej npr. (čisto na koncu):

http://fourier.eng.hmc.edu/e101/lecture ... node2.html

Odgovori