#coding=utf-8
import pywt
import matplotlib.pyplot as plt
import numpy as np
ts = [2, 56, 3, 22, 3, 4, 56, 7, 8, 9, 44, 23, 1, 4, 6, 2]
(ca, cd) = pywt.dwt(ts,'haar')
print(ca)
origin_ts=pywt.idwt(ca, cd, 'haar')
print(origin_ts)
dd=pywt.upcoef('a', ca, 'haar') + pywt.upcoef('d', cd, 'haar')
print(len(dd))
print(dd)
dd=pywt.upcoef('a', ca, 'haar')
print(len(dd))
print(dd)
dd=pywt.upcoef('a', ca, 'haar',take=len(dd))
print(len(dd))
print(dd)
data = [1,2,3,4,5,6]
(cA, cD) = pywt.dwt(data, 'db2', 'smooth')
print(pywt.upcoef('a', cA, 'db2') + pywt.upcoef('d', cD, 'db2'))
n = len(data)
print(pywt.upcoef('a', cA, 'db2', take=n) + pywt.upcoef('d', cD, 'db2', take=n))
输出结果:
[41.01219331 17.67766953 4.94974747 44.54772721 12.02081528 47.37615434
3.53553391 5.65685425]
[ 2. 56. 3. 22. 3. 4. 56. 7. 8. 9. 44. 23. 1. 4. 6. 2.]
16
[ 2. 56. 3. 22. 3. 4. 56. 7. 8. 9. 44. 23. 1. 4. 6. 2.]
16
[29. 29. 12.5 12.5 3.5 3.5 31.5 31.5 8.5 8.5 33.5 33.5 2.5 2.5
4. 4. ]
16
[29. 29. 12.5 12.5 3.5 3.5 31.5 31.5 8.5 8.5 33.5 33.5 2.5 2.5
4. 4. ]
[-0.25 -0.4330127 1. 2. 3. 4.
5. 6. 1.78589838 -1.03108891]
[1. 2. 3. 4. 5. 6.]
结论:包括拆解与还原函数;还原函数对不同的基函数有不同的效果;
问题:这无法实现降维,只能降噪;