Transform.h
上传用户:fxromeo
上传日期:2010-04-08
资源大小:89k
文件大小:1k
开发平台:

Visual C++

  1. //Transform.h 数学变换头文件
  2. // Ver 1.0.0.0
  3. // 版权所有(C) 何渝, 2002
  4. // 最后修改: 2002.5.31.
  5. #ifndef _TRANSFORM_H //避免多次编译
  6. #define _TRANSFORM_H
  7. #include <iostream> //模板类输入输出流标准头文件
  8. #include <valarray> //模板类数组的标准头文件
  9. #include <Matrix.h> //模板类矩阵头文件
  10. #include <comm.h> //公共头文件
  11. using namespace std; //名字空间
  12. //傅里叶级数逼近
  13. template <class _Ty>
  14. void FourierSeriesApproach(valarray<_Ty>& f, 
  15. valarray<_Ty>& a, valarray<_Ty>& b);
  16. //快速傅里叶变换
  17. template <class _Ty>
  18. void FourierTransform(valarray<complex<_Ty> >& pp, 
  19. valarray<complex<_Ty> >& ff, int l, int il);
  20. //快速沃什变换
  21. template <class _Ty>
  22. void WalshTransform(valarray<_Ty>& p, valarray<_Ty>& x);
  23. //五点三次平滑(曲线拟合)
  24. template <class _Ty>
  25. void Smooth5_3(valarray<_Ty>& y, valarray<_Ty>& yy);
  26. //离散随机线性系统的卡尔曼滤波
  27. template <class _Ty>
  28. int SievingKalman(matrix<_Ty>& f, matrix<_Ty>& q, matrix<_Ty>& r, 
  29. matrix<_Ty>& h, matrix<_Ty>& y, matrix<_Ty>& x, 
  30. matrix<_Ty>& p, matrix<_Ty>& g);
  31. //a-b-r滤波
  32. template <class _Ty>
  33. void SievingABR(valarray<_Ty>& x, _Ty t, _Ty a, _Ty b,
  34. _Ty r, valarray<_Ty>& y);
  35. #include "Transform.inl" //类及相关函数的定义头文件
  36. #endif // _TRANSFORM_H