采用内积法计算协偏度张量(图源耿老师PPT):
注意为白化后的样本数据:
[M,N]=size(x); %输入样本矩阵size
% 数据白化
mu=mean(x,2);
x=x-mu;
A=(x*x')./N; %协方差矩阵
[u,d]=eig(A);
F=u*diag(power(diag(d),-0.5));
x=F'*x;
下面采用内积法计算协偏度张量(速度很低):
S=zeros(M,M,M); %定义结果存放矩阵
for i=1:M
for j=1:M
for k=1:M
if(i<=j && j<=k) %i<=j<=k
S(i,j,k)=sum(x(i,:).*x(j,:).*x(k,:));
else
t=sort([i,j,k]);
S(i,j,k)=S(t(1),t(2),t(3));
end
end
end
end
S=S./N;
S即为所求协偏度张量矩阵。
严禁使用此代码交作业!!!!!!!!