Secondo la loro documentazione per Matlab filter() e SciPy lfilter(), sembra che dovrebbero essere "compatibili". Tuttavia ho un problema, il porting di codice Matlab più grande in Python, per il quale ottengo ValueError: object of too small depth for desired array
. Siccome non riesco a pensare a come posso presentare la mia fonte senza complicare esso, userò l'esempio fornito nella documentazione di Matlab:Filtro Matlab() con SciPy lfilter()
data = [1:0.2:4]';
windowSize = 5;
filter(ones(1,windowSize)/windowSize,1,data)
che traduco in Python per:
import numpy as np
from scipy.signal import lfilter
data = np.arange(1, 4.1, 0.2)
windowSize = 5
lfilter(np.ones((1, windowSize))/windowSize, 1, data)
In questo caso ottengo:
ValueError: object too deep for desired array
Perché ottengo questi errori?
Non c'è motivo, solo la mia ignoranza :) Non l'ho notato durante la traduzione. Grazie – theta
ah sì, mi ricordo ora, in MATLAB quelli (10) restituisce un 10 per 10, oh quei bei vecchi giorni MATLAB. –