⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msxwaveletdefshift.m

📁 用matlab中的小波分析方法实现数据处理中的小波动
💻 M
字号:
clear all
  %(2--9,25--33) 

aa1=xlsread('e:\datafix\masangx\compdefs_temp.xls')
nn=length(aa1(:,2))-3
%  aa2=aa1(1:nn,16)
aa3=aa1(1:nn,6)

jj=5 %小波分解层数

%小波分解和逼近信息重构
[C2,L2] = wavedec(aa3,jj,'sym5')
aa5=wrcoef('a',C2,L2,'sym5',jj)




dd=aa3-aa5
zz3=dd.'


%ARL0=1000时的d值和 lamda 值
x=[0.25,0.75,1,1.5,2,2.75,3,3.5,4]
y=[0.0176,0.065,0.108,0.195,0.292,0.501,0.567,0.721,0.836]


%ARL0=1000时的lamda值和k值
x1=[0.01,0.05,0.1,0.15,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]
y1=[2.603,3.136,3.292,3.362,3.40,3.440,3.465,3.471,3.479,3.478,3.481,3.485,3.490]




  % 赋初值
tt=1:nn
vdd1(tt)=0
weight1=0.21
yy1=spline(x1,y1,weight1)    % lamda 值和 k值的拟合,得到k值
 
  

% mean1(1)=dd(1)
vdd1(1)=mean(dd)

% 计算统计量
for tt=1:nn-1
vdd1(tt+1)=weight1*dd(tt+1)+(1-weight1)*vdd1(tt)
end

% 计算统计量方差
var1=std(vdd1)
 
 %统计量的平均值 
 mean1=mean(vdd1) 
 
 %得到k值
  k=yy1
  
%控制限计算 
ucl=mean1+k*var1
lcl=mean1-k*var1 


%控制限显示
tt=1:nn
 plot(vdd1,'b')
 hold on
 plot(tt,ucl,'r')
 plot(tt,lcl,'r')










⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -