📄 corra.m
字号:
% function [y1,meanofy1,minofy1,maxofy1,y2,meanofy2,minofy2,maxofy2,y3,meanofy3,minofy3,maxofy3]=corr(x)
function [yall,meanofall,minofall,maxofall]=corra(x)%x为输入波形,y1为与标准波形的相似程度的矩阵
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);
yall=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
% ZCBXstandard2 = sum(ZCBXstandard(1,:).*ZCBXstandard(1,:));
% 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).*ZCBXstandard(1,1:21));%加权后的结果,两边1-10;22-32加权为0.5
% ZCBXstandard1=sum(ZCBXstandard(1,:).*ZCBXstandard(1,:));
% ZCBXstandard2=sum(ZCBXstandard(2,:).*ZCBXstandard(2,:));
% ZCBXstandard3=sum(ZCBXstandard(3,:).*ZCBXstandard(3,:));
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;
% y1(i)=sum(x(i,:).*ZCBXstandard(1,:))/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;
% y1(i)=sum(x(i,:).*ZCBXstandard(1,:))/ZCBXstandard1;
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;
% y1(i)=sum(x(i,:).*ZCBXstandard(1,:))/ZCBXstandard1;
end
for i=1:rowlengthofx
yall(i) = (y1(i)+y2(i)+y3(i))/3;
% y1(i)=sum(x(i,:).*ZCBXstandard(1,:))/ZCBXstandard1;
end
% ZCBXstandard1=sum((0.5*ZCBXstandard(1,1:10)).*(0.5*ZCBXstandard(1,1:10)))+sum((0.5*ZCBXstandard(1,22:32)).*(0.5*ZCBXstandard(1,22:32)))+sum(ZCBXstandard(1,11).*ZCBXstandard(1,1:21));%加权后的结果,两边1-10;22-32加权为0.5
% % ZCBXstandard1=sum(ZCBXstandard(1,:).*ZCBXstandard(1,:));
% % ZCBXstandard2=sum(ZCBXstandard(2,:).*ZCBXstandard(2,:));
% % ZCBXstandard3=sum(ZCBXstandard(3,:).*ZCBXstandard(3,:));
% for i=1:rowlengthofx
% y1(i) = (sum((0.5*x(i,1:10)).*(0.5*ZCBXstandard(1,1:10)))+sum((0.5*x(i,22:32)).*(0.5*ZCBXstandard(1,22:32)))+sum(x(i,11:21).*ZCBXstandard(1,11:21)))/ZCBXstandard1;
% % y1(i)=sum(x(i,:).*ZCBXstandard(1,:))/ZCBXstandard1;
% end
% for i=1:rowlengthofx
% y2(i)=sum(x(i,:).*ZCBXstandard(1,:))/ZCBXstandard2;
% end
% for i=1:rowlengthofx
% y3(i)=sum(x(i,:).*ZCBXstandard(1,:))/ZCBXstandard3;
% 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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -