function y = wavelet(x)
plot(x); %显示处理前的数据
hold; %在同一坐标系统显示两幅图
[cs,ls] = wavedec(x,8,'haar') %用小波对原始数据进行8层分解
ca8=appcoef(cs,ls,'haar',8); %提取小波分解的低频参数
cd8=detcoef(cs,ls,8); %提取第8层的高频参数
cd7=detcoef(cs,ls,7); %提取第7层的高频参数
cd6 = detcoef(cs,ls,6) %提取第6层的高频参数
cd5=detcoef(cs,ls,5); %提取第5层的高频参数
cd4=detcoef(cs,ls,4); %提取第4层的高频参数
cd3=detcoef(cs,ls,3); %提取第3层的高频参数
cd2=detcoef(cs,ls,2); %提取第2层的高频参数
cd1=detcoef(cs,ls,1); %提取第1层的高频参数
cd8soft = wthresh(cd8,'s',0.010); %对第8层的高频参数进行阈值变化
cd7soft = wthresh(cd7,'s',0.013); %对第7层的高频参数进行阈值变化
cd6soft = wthresh(cd6,'s',0.011); %对第6层的高频参数进行阈值变化
cd5soft = wthresh(cd5,'s',0.011); %对第5层的高频参数进行阈值变化
cd4soft = wthresh(cd4,'s',0.011); %对第4层的高频参数进行阈值变化
cd3soft = wthresh(cd3,'s',0.011); %对第3层的高频参数进行阈值变化
cd2soft = wthresh(cd2,'s',0.011); %对第2层的高频参数进行阈值变化
cd1soft = wthresh(cd1,'s',0.011); %对第1层的高频参数进行阈值变化
ca8 = ca8';
cd8soft = cd8soft';
cd7soft = cd7soft';
cd6soft = cd6soft';
cd5soft = cd5soft';
cd4soft = cd4soft';
cd3soft = cd3soft';
cd2soft = cd2soft';
cd1soft = cd1soft';
cs3(1:16)=ca8;
cs3(17:32)=cd8soft;
cs3(33:64)=cd7soft;
cs3(65:128)=cd6soft;
cs3(129:256)=cd5soft;
cs3(257:512)=cd4soft;
cs3(513:1024)=cd3soft;
cs3(1025:2048)=cd2soft;
cs3(2049:4096)=cd1soft;
y = waverec(cs3,ls,'haar');
y=y'; %矩阵转置
plot(y,'g') %显示处理后的数据
end