📄 faulttezheng.m
字号:
function NN2FaultSampletezheng=Faulttezheng(x)
%提取出的特征有:1波形的最大斜率,2向上的尖峰的个数,3-6面积的比值:左中,左右,中右,左右一半。7,8中间十点的均值与方差,9正确波形的相似比
%定义变量及相应的矩阵初始化,存放数据结果,而我们就利用这些从每个波形提出的特征值来代替波形本身。一个1x9的向量就代表了一个波形2008 6 26
lengthofxx=size(x);
lengthofx=lengthofxx(1);
Mianji=zeros(4,lengthofx);%面积比值
MiddleValue=zeros(2,lengthofx);%中间十点均值与方差
MaxSlope=zeros(1,lengthofx);%最大斜率
Slopeofx=zeros(1,lengthofx);%波形斜率
NumofJianfeng=zeros(1,lengthofx);%尖峰数值
%%
for i=1:lengthofx
for j=2:32
Slopeofx(j,i)=x(i,j)-x(i,j-1); %计算相邻两点的斜率
end
end
for i=1:lengthofx
MaxSlope(1,i)=max(Slopeofx(:,i));%波形斜率最大值
end
for i=1:lengthofx
for j=2:31
if(Slopeofx(j-1,i)>0||Slopeofx(j+1,i)<0)
NumofJianfeng(1,i)=NumofJianfeng(1,i)+1; %此循环用来计算向上的尖峰的个数
end
end
end
%%
for i=1:lengthofx
Mianji(1,i)=sum(x(i,1:5))/sum(x(i,14:18));%左与中面积之比 5点
Mianji(2,i)=sum(x(i,1:5))/sum(x(i,28:32));%左与右面积之比 5点
Mianji(3,i)=sum(x(i,14:18))/sum(x(i,28:32));%中与右面积之比 5点
Mianji(4,i)=sum(x(i,1:16))/sum(x(i,17:32));%左右面积之比 15点
end
%%
for i=1:lengthofx
MiddleValue(1,i)=mean(x(i,10:20));%中间十点均值
MiddleValue(2,i)=var(x(i,10:20));%中间十点方差
end
%%
%用来实现波形相思比的计算
ZCBXstandard=[19,19,19,21,31,49,70,85,94,98,99,99,99,99,98,98,98,98,98,98,98,97,91,74,53,36,26,22,20,20,21,21;19,21,31,49,70,85,94,98,99,99,99,99,98,98,98,98,98,98,98,97,91,74,53,36,26,22,20,20,19,19,18,18;18,18,18,19,19,19,21,31,49,70,85,94,98,99,99,99,99,98,98,98,98,98,98,98,97,91,74,53,36,26,22,20;];
y1=zeros(1,lengthofx);
y2=zeros(1,lengthofx);
y3=zeros(1,lengthofx);
CorrAll=zeros(1,lengthofx);
ZCBXstandard1 = 0.5*sum(ZCBXstandard(1,1:10).*ZCBXstandard(1,1:10))+0.5*sum(ZCBXstandard(1,22:32).*ZCBXstandard(1,22:32))+sum(ZCBXstandard(1,11:21).*ZCBXstandard(1,11:21));%加权后的结果,两边1-10;22-32加权为0.5
ZCBXstandard2 = 0.5*sum(ZCBXstandard(2,1:10).*ZCBXstandard(2,1:10))+0.5*sum(ZCBXstandard(2,22:32).*ZCBXstandard(2,22:32))+sum(ZCBXstandard(2,11:21).*ZCBXstandard(2,11:21));%加权后的结果,两边1-10;22-32加权为0.5
ZCBXstandard3 = 0.5*sum(ZCBXstandard(3,1:10).*ZCBXstandard(3,1:10))+0.5*sum(ZCBXstandard(3,22:32).*ZCBXstandard(3,22:32))+sum(ZCBXstandard(3,11:21).*ZCBXstandard(3,11:21));%加权后的结果,两边1-10;22-32加权为0.5
for i=1:lengthofx
y1(i) = (0.5*sum(x(i,1:10).*ZCBXstandard(1,1:10))+0.5*sum(x(i,22:32).*ZCBXstandard(1,22:32))+sum(x(i,11:21).*ZCBXstandard(1,11:21)))/ZCBXstandard1;
end
for i=1:lengthofx
y2(i) = (0.5*sum(x(i,1:10).*ZCBXstandard(2,1:10))+0.5*sum(x(i,22:32).*ZCBXstandard(2,22:32))+sum(x(i,11:21).*ZCBXstandard(2,11:21)))/ZCBXstandard2;
end
for i=1:lengthofx
y3(i) = (0.5*sum(x(i,1:10).*ZCBXstandard(3,1:10))+0.5*sum(x(i,22:32).*ZCBXstandard(3,22:32))+sum(x(i,11:21).*ZCBXstandard(3,11:21)))/ZCBXstandard3;
end
for i=1:lengthofx
CorrAll(i) = (y1(i)+y2(i)+y3(i))/3;
end
NN2FaultSampletezheng=[NumofJianfeng;Mianji;MiddleValue;MaxSlope;CorrAll];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -