scipy一维卷积

阅读更多
一 介绍
signal模块包含大量滤波函数、B样条插值算法等等。下面的代码演示了一维信号的卷积运算。

二 代码

  1. import numpy as np
  2. import scipy.signal
  3. x = np.array([1,2,3])
  4. h = np.array([4,5,6])
  5. print(scipy.signal.convolve(x, h))#一维卷积运算
三 运行结果
[ 4 13 28 27 18]
四 一维卷积算法
  1. #include
  2. #include
  3. #include
  4. #include
  5. #include
  6. #include
  7. #include
  8. #include
  9. usingnamespace std;
  10. #define INF 0xfffffff
  11. #define maxn 100010
  12. int main()
  13. {
  14. int m=5,n=5;
  15. int a[5]={0,1,0,2,1},b[5]={0,1,0,2,1};
  16. int i,j;
  17. int k=m+n-1;//卷积后数组长度
  18. int c[k];
  19. memset(c,0,sizeof(c));//注意一定要清零
  20. /**卷积计算**/
  21. for(i=0; i<k; i++)
  22. {
  23. for(j=max(0,i+1-n); j<=min(i,m-1); j++)
  24. c[i]+=a[j]*b[i-j];
  25. cout<<c[i]<<" ";
  26. }
  27. /****/
  28. cout<<endl;
  29. }

你可能感兴趣的:(scipy)