myresignal.m
来自「matlab 时频分析上面程序第八章的故障诊断的小程序」· M 代码 · 共 42 行
M
42 行
function X=myresignal(data,tau)
%该函数用来对奇异值反变换后的矩阵进行平均
% tau为时间延迟
% data为输入矩阵,是n*M维矩阵
% X 为输入时间序列,
[n,m]=size(data); %%%% n为重构的相空间维数,m为相空间中点的个数
T=m+(n-1)*tau; %%%% T为原始信号长度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data1=zeros(n,T); %%%重构n*T的矩阵,以便对对应元素求平均
n2=1;
n3=1;
for n1=1:n
data1(n2,n3:(n3+m-1))=data(n2,:);
n2=n2+1;
n3=n3+tau;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for nn1=1:T %%%%对重构的n*T矩阵对应元素求平均
data2=data1(:,nn1);
datasum=sum(data2);
if nn1<=(n-1)*tau
A2=ceil(nn1/tau);
elseif nn1<=m
A2=n;
else
A2=ceil((T-nn1+1)/tau);
end
X(nn1)=datasum/A2;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%for nn1=1:T %%%对每列的非零元素求平均,存在一定的缺陷。
% data2=data1(:,nn1);
% datasum=sum(data2);
% A2=find(data2);
% A3=length(A2);
% X(nn1)=datasum/A3;
% end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?