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

📄 msxhgdegress.m

📁 采用回归方法拟合曲线
💻 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 + -