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

📄 tezheng.m

📁 径向基神经网络训练程序
💻 M
字号:
function y=tezheng(x)
%Corrall为加权平均相似程度;Mianji为面积比值特征;含四个参数;Slopeofx为波形的斜率(不返回);Slope 为斜率特征包含:最大与最小斜率的差,左半部分大于0的个数,右半部分小于零的个数

%%
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;];
lengthofx=size(x);
rowlengthofx=lengthofx(1);
y1=zeros(1,rowlengthofx);
y2=zeros(1,rowlengthofx);
y3=zeros(1,rowlengthofx);
CorrAll=zeros(1,rowlengthofx);
Mianji=zeros(4,rowlengthofx);
Slope=zeros(3,rowlengthofx);
Slopeofx=zeros(1,rowlengthofx);

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:rowlengthofx
    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:rowlengthofx
    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:rowlengthofx
    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:rowlengthofx
    CorrAll(i) = (y1(i)+y2(i)+y3(i))/3;
end

% meanofy1=mean(y1);
% minofy1=min(y1);
% maxofy1=max(y1);
% 
% meanofy2=mean(y2);
% minofy2=min(y2);
% maxofy2=max(y2);
% 
% meanofy3=mean(y3);
% minofy3=min(y3);
% maxofy3=max(y3);
% 
% meanofall=(meanofy1+meanofy2+meanofy3)/3;
% minofall=(minofy1+minofy2+minofy3)/3;
% maxofall=(maxofy1+maxofy2+maxofy3)/3;
%%
for i=1:rowlengthofx
    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:rowlengthofx
    for j=2:32
        Slopeofx(i,j)=x(i,j)-x(i,j-1);                   
    end
end

for i=1:rowlengthofx
    Slope(1,i)=max(Slopeofx(i,:))-min(Slopeofx(i,:));%斜率的峰峰值
end

for i=1:rowlengthofx
    Slope(2,i)=length(find(Slopeofx(i,1:15)>0));%斜率左半侧大于零的部分
end

for i=1:rowlengthofx
    Slope(3,i)=length(find(Slopeofx(i,16:32)<0));%斜率右半侧小于零的部分
end
%%
LengthofmaxAndmaxSlopeofx=zeros(1,rowlengthofx);
for i=1:rowlengthofx
    for j=2:32
        Slopeofx(i,j)=x(i,j)-x(i,j-1);                   
    end
end
for i=1:rowlengthofx
    Slopeofxi=Slopeofx(i,:);
    maxofSlopeofx=find(Slopeofxi==max(Slopeofxi));
    minofSlopeofx=find(Slopeofxi==min(Slopeofxi));
    LengthofmaxAndmaxSlopeofx(i)=abs(minofSlopeofx(1)-maxofSlopeofx(1));
end
%%
y=[CorrAll;Mianji;Slope;LengthofmaxAndmaxSlopeofx];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -