De acuerdo con su documentación para Matlab filter() y SciPy lfilter(), parece que deberían ser "compatibles". Sin embargo, tengo un problema, portar un código de Matlab más grande en Python, para el cual obtengo ValueError: object of too small depth for desired array
. Como no puedo pensar en cómo puedo presentar mi fuente sin complicar ella, voy a utilizar el ejemplo proporcionado en la documentación del Matlab:Filtro Matlab() con SciPy lfilter()
data = [1:0.2:4]';
windowSize = 5;
filter(ones(1,windowSize)/windowSize,1,data)
que traduzco en Python a:
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)
En este caso me sale:
ValueError: object too deep for desired array
¿Por qué me salen estos errores?
No hay razón, solo mi ignorancia :) No vi eso mientras traducía. Gracias – theta
ah sí, ahora lo recuerdo, en los matlab (10) se devuelve un 10 por 10, oh esos buenos viejos días matlab. –