📄 msxwaveletdefshift.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 + -