Próbuję wykonać "splot" dowolnej powierzchni N-wymiarowej za pomocą wektora. Dokładniej, próbuję uzyskać wyjście z jądra Volterry N-tego rzędu (patrz http://www.scholarpedia.org/article/Volterra_and_Wiener_series, eq.1)Konwolucja powierzchni N-wymiarowej z wektorem w matlab
Tak więc, dla 1-wymiarowego jądra, wyjście jest prostym splotem ślizgowym pierwszego rzędu jądro z przeszłością epoki wejściowej. Zasadniczo mnoży/waży każdą wartość w poprzedniej epoce wejściowej ze współczynnikiem.
Wyjście jądra drugiego rzędu jest "splotem" macierzy 2d z sygnałem. To jądro waży iloczyn każdej pary punktów w przeszłości ze współczynnikiem.
Jądro 3. rzędu, macierz 3d, waży każdą trójkę punktów w poprzedniej epoce pamięci.
Ponadto, nie znam wymiaru/kolejności jądra przed ręką. Jest to parametr wejściowy ..
Wiem, że prawdopodobnie mogę to zrobić bardzo nieelegancko i powoli, przechodząc przez kilka pętli po punkcie, ale zastanawiałem się, czy istnieje sposób, aby to zrobić bardzo szybko i elegancko w matlab?
Dzięki
Czy obejrzałeś polecenie ['convn'] (http://www.mathworks.com/help/matlab/ref/convn.html)? –
Mam, ale nie jestem pewien, co robi. Ilekroć próbuję użyć go do splotu powierzchni z wektorem, otrzymuję wyjście powierzchniowe, a nie wynik wektorowy, którego szukam; Dlatego zakładam, że nie jest to, czego potrzebuję ... – DankMasterDan
Jest to bardzo istotne dla tego, co teraz robię, może wykorzystywać jak najwięcej informacji. Rozpoczynanie nagrody. – SetSlapShot