📄 auto_correlation_matrix_fun.m
字号:
function [K_t,K,K_s,E,D]=auto_correlation_matrix_fun(acce_matrix,NUMBER,S_NUMBER,sample_rate,N_POINT,BEGIN_P)
%求相关矩阵K
dt=1/sample_rate ;
%求期望
for n=1:NUMBER
total(n)=0 ;
for m=1:S_NUMBER
total(n)=total(n)+acce_matrix(n,m) ;
end
end
E=total./S_NUMBER ;
%求方差
D1=zeros(NUMBER,1) ;
D=zeros(NUMBER,1) ;
for n=1:NUMBER
D1(n)=0 ;
for l=1:S_NUMBER
D1(n)=D1(n)+(acce_matrix(n,l)-E(n))*(acce_matrix(n,l)-E(n)) ;
end
end
D=D1./(S_NUMBER-1) ;
%plot(acce_t,D) ;
%求相关矩阵K
K_total=zeros(N_POINT,N_POINT) ;
K=zeros(N_POINT,N_POINT) ;
K_s=zeros(N_POINT,N_POINT) ;
for n=1:N_POINT
for m=1:N_POINT
K_total(n,m)=0 ;
for l=1:S_NUMBER
K_total(n,m)=K_total(n,m)+(acce_matrix(n+BEGIN_P,l)-E(n+BEGIN_P))*(acce_matrix(m+BEGIN_P,l)-E(m+BEGIN_P)) ;
end
end
end
K=K_total./(S_NUMBER-1) ;
%将K用方差D标准化的K_s
for n=1:N_POINT
for m=1:N_POINT
if K(n,m)==0
K_s(n,m)=0 ;
else
K_s(n,m)=K(n,m)./(sqrt(D(n+BEGIN_P))*sqrt(D(m+BEGIN_P))) ;
end
end
end
K_t=zeros(N_POINT,1) ;
for n=1:N_POINT
K_t(n)=dt*(n+BEGIN_P-1) ;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -