Theo tài liệu của chúng cho Matlab filter() và SciPy lfilter(), có vẻ như chúng phải là "tương thích". Tuy nhiên tôi có một vấn đề, porting mã Matlab lớn hơn trong Python, mà tôi nhận được ValueError: object of too small depth for desired array
. Như tôi đã không thể nghĩ ra làm thế nào tôi có thể trình bày nguồn của tôi mà không làm phức tạp nó, tôi sẽ sử dụng các ví dụ được cung cấp trong tài liệu của Matlab:Bộ lọc Matlab() với SciPy lfilter()
data = [1:0.2:4]';
windowSize = 5;
filter(ones(1,windowSize)/windowSize,1,data)
mà tôi dịch bằng Python để:
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)
Trong trường hợp này tôi nhận được:
ValueError: object too deep for desired array
Tại sao tôi gặp phải các lỗi này?
Không có lý do gì, chỉ là sự thiếu hiểu biết của tôi :) Tôi không phát hiện ra rằng trong khi dịch. Cảm ơn – theta
ah có Tôi nhớ bây giờ, trong những người thân (10) trả về 10 10, oh những ngày matlab cũ tốt. –