2009/5/18 Stéfan van der Walt <ste...@sun.ac.za>: > 2009/5/18 rob steed <rjst...@talk21.com>: >> This works fine. However, if the arrays have different lengths, we get a >> problem. >> >>>>> y2=N.array([0,0,0,1]) >>>>> N.correlate(x,y2,'full') > > This looks like a bug to me. > > In [54]: N.correlate([1, 0, 0, 0], [0, 0, 0, 1],'full') > Out[54]: array([1, 0, 0, 0, 0, 0, 0]) > > In [55]: N.correlate([1, 0, 0, 0, 0], [0, 0, 0, 1],'full') > Out[55]: array([1, 0, 0, 0, 0, 0, 0, 0]) > > In [56]: N.correlate([1, 0, 0, 0, 0], [0, 0, 0, 0, 1],'full') > Out[56]: array([1, 0, 0, 0, 0, 0, 0, 0, 0]) > > In [57]: N.correlate([1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1],'full') > Out[57]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]) >
comparing with scipy: signal.correlate behaves the same "flipping" way as np.correlate, ndimage.correlate keeps the orientation. >>> np.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0,0],'same') array([0, 0, 0, 2, 1, 0]) >>> np.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0],'same') array([1, 2, 0, 0, 0]) >>> np.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0, 0],'full') array([0, 0, 0, 0, 0, 2, 1, 0, 0, 0]) >>> np.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0],'full') array([0, 0, 1, 2, 0, 0, 0, 0, 0]) >>> >>> signal.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0, 0]) array([0, 0, 0, 0, 0, 2, 1, 0, 0, 0]) >>> signal.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0]) array([0, 0, 1, 2, 0, 0, 0, 0, 0]) >>> ndimage.filters.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0, >>> 0],mode='constant') array([0, 1, 2, 0, 0]) >>> ndimage.filters.correlate([1, 2, 0, 0, 0], [0, 0, 1, 0, 0],mode='constant') array([1, 2, 0, 0, 0]) Josef _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion