离散小波变换
clear all;
load('650837_20161013152521.mat');
ls=length(WS);
data=WS(1,:)
[C,L]=wavedec(data,4,'db5');
A4=wrcoef('a',C,L,'db5',4);
D4=wrcoef('D',C,L,'db5',1);
subplot(3,1,1);plot(abs(data),'k');
subplot(3,1,2);plot(abs(A4),'k');
subplot(3,1,3);plot(abs(D4),'k');
import numpy as np
import pywt
import pandas as pd
import matplotlib.pyplot as plt
import os
import wrcoef
path=os.getcwd()+'\\'+'650837_20161013152521_11.xls'
WS=pd.read_excel(path)
data=np.array(WS)[:,0]
[C,L1]=wrcoef.wavedec(data,wavelet='db5',level=4)
c = wrcoef.wavedec2(data, 'db5', level=4)
a, details = c[0], c[1:]
L = [d.size for d in details[1:]] + [data.size, ]
for n in range(4):
a = pywt.upcoef('a', a, 'db5', level=1, take=L[n])
A4 = wrcoef.wrcoef(C, L1, wavelet='db5', level=4)
D4 = wrcoef.wrcoef(C, L1, wavelet='db5', level=1)
plt.figure(figsize=(8,8))
plt.subplot(3,1,1)
plt.plot(np.abs(data),'k')
plt.subplot(3,1,2)
plt.plot(np.abs(A4),'k')
plt.subplot(3,1,3)
plt.plot(np.abs(D4),'k')
plt.show()