基于python實現(xiàn)matlab filter函數(shù)過程詳解
matlab中的filter函數(shù):
y = filter(b,a,x)
python實現(xiàn)matlab中的filter函數(shù)
def filter_matlab(b,a,x):
y = []
y.append(b[0] * x[0])
for i in range(1,len(x)):
y.append(0)
for j in range(len(b)):
if i >= j :
y[i] = y[i] + b[j] * x[i - j ]
j += 1
for l in range(len(b)-1 ):
if i >l:
y[i] = (y[i] - a[l+1] * y[i -l-1])
l += 1
i += 1
return y
example:
取
b = [8,-3.5,0.5]
a = [1,-1.5,0.25]
x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
y = filter_matlab(b,a,x)
函數(shù)的結(jié)果和matlab的filter函數(shù)結(jié)果一致,為
[8, 24.5, 52.25, 94.75, 156.5625, 243.65625, 363.84375, 527.3515625, 747.56640625, 1042.01171875, 1433.6259765625, 1952.43603515625, 2637.74755859375, 3541.0123291015625, 4729.581604003906, 6291.619323730469, 8342.533584594727, 11033.395545959473, 14561.959922790527, 19187.090997695923]
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python數(shù)組條件過濾filter函數(shù)使用示例
數(shù)組條件過濾簡潔實現(xiàn)方式,使用filter函數(shù),實現(xiàn)一個條件判斷函數(shù)即可,示例代碼如下2014-07-07
pycharm創(chuàng)建并使用虛擬環(huán)境的詳細圖文教程
Python的虛擬環(huán)境是正常的現(xiàn)實環(huán)境相對應(yīng)的,在虛擬環(huán)境中安裝的包是與現(xiàn)實環(huán)境隔離的,下面這篇文章主要給大家介紹了關(guān)于pycharm創(chuàng)建并使用虛擬環(huán)境的詳細圖文教程,需要的朋友可以參考下2022-08-08
Python中的JSON?Pickle?Shelve模塊特性與區(qū)別實例探究
在Python中,處理數(shù)據(jù)序列化和持久化是極其重要的,JSON、Pickle和Shelve是三種常用的模塊,它們提供了不同的方法來處理數(shù)據(jù)的序列化和持久化,本文將深入研究這三個模塊,探討它們的特性、用法以及各自的優(yōu)缺點2024-01-01
Python對象的底層實現(xiàn)源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python對象的底層實現(xiàn)源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Python爬蟲小例子——爬取51job發(fā)布的工作職位
這篇文章主要介紹了Python爬取51job發(fā)布的工作職位,文中講解非常細致,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下2020-07-07

