DMUG-Archiv 2005

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: ListConvolve: Berechnung auf das erste Listenelement beschränken

Hallo,

a) wenn der Kern genauso lang wie dei Liste ist,
dann ist
   ListConvolve[kern,list] jawohl
   Dot[Reverse[kern],list]

b) ist der Kern kürzer, so ist das erste Element,
wir ahnten es,
   Dot[Reverse[kern],Take[list,Length[kern]]]

c) die vollständige Faltung wäre
   Dot[Reverse[kern],#] & /@
Partition[list,Length[kern],1]

d) bei einem langen Kern, werden normalerweise
Kern und Daten
   Fourier Transformiert, komponentenweise
multipliziert und wieder
   zurück transformiert. Es gibt also keine
"low-level" Funktion die
   jedes Element einzeln behandelt sondern es gilt
   InverseFourier[Fourier[kern]*Fourier[list]]

Regards
  Jens

----- Original Message ----- 
From: "Frank Küster" <frank@XXXXXXX.ch>
To: <demug@XXXXXXX.ch>
Sent: Thursday, October 20, 2005 4:44 PM
Subject: ListConvolve: Berechnung auf das erste 
Listenelement beschränken


| Hallo,
|
| Ich möchte mehrfach über großen Datensätzen (bis 
zu 4096 Elemente)
| ListConvolve anwenden, aber mich interessiert 
immer nur das erste
| Element des Ergebnisses.  Die Berechnung dauert 
leider ziemlich lange,
| und natürlich wird fast alles davon nachher 
weggeworfen.
|
| Gibt es eine Möglichkeit, nur das erste Element 
berechnen zu lassen,
| bzw. gibt es low-level-Funktionen, die 
ListConvolve verwendet und die
| ich spezieller aufrufen könnte?  Bei mir ist der 
Kernel immer kürzer
| oder maximal gleichlang wie die Liste, die immer 
4096 Elemente hat.
|
| TIA, Frank
| -- 
| Frank Küster
| Inst. f. Biochemie der Univ. Zürich
| Debian Developer
|
|
| 



Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html