• 大小: 910KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-08-27
  • 语言: Matlab
  • 标签: PCA  故障诊断  

资源简介

包内包含主元分析算法(PCA)的Matlab完整故障诊断程序,附详细的word文档和PPT介绍

资源截图

代码片段和文件信息

function [contributionT2SPEt2cls_cl] =  PCA_model(XtrainXtest)
X_mean = mean(Xtrain);                
X_std = std(Xtrain);                   
[X_row X_col]= size(Xtrain); 
for i = 1:X_col
    Xtrain(:i) = (Xtrain(:i)-X_mean(i))./X_std(i);
    Xtest(:i) = (Xtest(:i)-X_mean(i))./X_std(i);
end
[USV]=svd(Xtrain./sqrt(size(Xtrain1)-1)0);        
D= S^2;
lamda=diag(D);
num_pc=1;
while sum(lamda(1:num_pc))/sum(lamda)<0.9
    num_pc=num_pc+1;
end
D=diag(lamda);
P=V(:1:num_pc);
[ab]=size(Xtest);
[ry]=size(P*P‘);
I=eye(ry);
e=Xtest*(I-P*P‘);
for i=1:a  
T2(i)=Xtest(i:)*P*inv(D(1:num_pc1:num_pc))*P‘*Xtest(i:)‘;
end
for l=1:a
    SPE(l)=e(l:)*e(l:)‘;
end

 for j=1:b
    contribution(j)=(norm(e(:j)))^2;
 end
 
 t2cl=num_pc*(X_row-1)*(X_row+1)*icdf(‘f‘0.99num_pcX_row-num_pc)/(X_row*(X_row-num_pc));
for i=1:3
     theta(i)=trace((D(num_pc+1:X_colnum_pc+1:X_col))^i);        
end
% 另一种SPE控制线算法
% h=(theta(1)^2)/theta(2);
% g=theta(2)/theta(1);
% conf=0.95;                              
% df=round(h);                           
% delta2a1=g*pinv(df2);

h0=1-2*theta(1)*theta(3)/(3*theta(2)^2);
ca=icdf(‘norm‘0.9901);
s_cl=theta(1)*(ca*sqrt(2*theta(2)*h0^2)/theta(1)+1+theta(2)*h0*(h0-1)/theta(1)^2)^(1/h0);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     949248  2013-06-24 15:26  基于主元分析算法的系统故障诊断\gz.xls

     文件       1288  2013-06-24 15:26  基于主元分析算法的系统故障诊断\PCA_model.m

     文件        490  2014-06-15 19:06  基于主元分析算法的系统故障诊断\testPCA.m

     文件     949248  2013-06-24 15:26  基于主元分析算法的系统故障诊断\zc.xls

     文件     219454  2018-12-09 14:28  基于主元分析算法的系统故障诊断\故障诊断.doc

     文件     928255  2019-02-21 20:17  基于主元分析算法的系统故障诊断\故障诊断.pptx

     目录          0  2019-02-21 20:17  基于主元分析算法的系统故障诊断

----------- ---------  ---------- -----  ----

              3047983                    7


评论

共有 条评论