📄 msxhgdegress.m
字号:
clear all
nn=1075 %total plots
mm=72 %计算残差的两个样本值之间的距离
delay=12 %延迟点数
aa1=xlsread('e:\datafix\masangx\compdefs_temp.xls') %读入数据
aa2=aa1(1:nn,16) %温度所在列数
aa3=aa1(1:nn,6) % 挠度所在列数
aa4=aa3(delay+1:nn-mm)
[C2,L2] = wavedec(aa3,5,'sym5') % 小波分解
aa3=wrcoef('a',C2,L2,'sym5',5) % 小波重构
%以下循环是计算相位差半个周期的两个温度值之差restemp(j)和挠度值之差resdef(j)
j=1
for i=(mm+1):nn
restemp(j)=aa2(i)-aa2(i-mm)
resdef(j)=aa3(i)-aa3(i-mm)
j=j+1
end
%延迟一定时间长度后进行回归拟合
aa2=restemp(1:nn-delay-mm)
aa3=resdef(delay+1:nn-mm)
x=aa2 %温度差样本
fx=aa3 %挠度差样本
y=polyfit(x,fx,1) %拟合为一次直线
%求残差dd
zz1=polyval(y,x)
zz2=zz1.'
dd=aa3-zz1
zz3=dd.'
kk1=3.40 % 最优控制限
kk2=4.35 % 可靠度控制限
weight1=0.2 % 最优lamda限
%计算统计量
tt=1:nn-mm-delay
mean1=0
vdd1(tt)=0
vdd1(1)=mean(dd)
%vdd1(1)=weight1*dd(1)+(1-weight1)*vdd1(1)
for tt=1:nn-mm-delay-1
vdd1(tt+1)=weight1*dd(tt+1)+(1-weight1)*vdd1(tt) % 统计量
end
%控制限
mean1=mean(vdd1)
var1=std(vdd1)
mean2=mean(dd)
%内控制限
ucl=mean1+kk1*var1
lcl=mean1-kk1*var1
zz4=vdd1.'
%外控制限
ucl1=mean1+kk2*var1
lcl1=mean1-kk2*var1
%温度差及挠度差样本显示
plot(aa2,'r')
figure(2)
plot(aa3)
% 控制限显示
figure(3)
tt=1:nn-mm-delay
tt1=1:2:nn-mm-delay
plot(tt,vdd1,'b') % 统计量显示
hold on
% 内控制限显示
plot(tt,ucl,'r')
plot(tt,lcl,'r')
% 外控制限显示
plot(tt1,ucl1,'--')
plot(tt1,lcl1,'--')
%拟合显示
figure(4)
plot(aa2,zz1)
hold on
plot(aa2,fx,'o')
zz=corrcoef(aa2,aa3)
llm=mean1-mean2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -