目錄
一、公式概念
二、代碼
1、numpy庫
2、自定義打印出每一步結果
?三、結果
一、公式概念
線性卷積_百度百科線性卷積(linear convolution) 在時域描述線性系統輸入和輸出之間關系的一種運算。這種運算在線性系統分析和信號處理中應用很多,通常簡稱卷積。中文名:數字信號處理https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E5%8D%B7%E7%A7%AF/5908978?fr=aladdin
二、代碼
1、numpy庫
import numpy as np# nunpy自帶的一維線性卷積
r2 = np.convolve(v, a, mode="full")
print(r2)
2、自定義打印出每一步結果
# 時域上求兩個序列的線性卷積
def lc(x1,x2):N1 = len(x1)N2 = len(x2)x1 = dict(enumerate(x1))x2 = dict(enumerate(x2))N = N1 + N2 - 1 # 線性卷積結果序列長度x0 = [0 for _ in range(N)]# 保存每一步的卷積結果X = []for i in range(N):s = 0for j in range(N1):s += x1[j] * x2.get(i - j, 0) # 卷積核下標不存在時返回0x0[i] = sX.append(x0)return X
?三、結果
if __name__ == '__main__':x = [1,1,1,1]y = [4,3,2,1]print(np.convolve(x,y,mode="full"))print(lc(x,y)[-1])
?
?