📄 getscatter.m
字号:
function [Sb,Sw,St]=GetScatter(Sample)
%求输入矩阵Sample的散度矩阵
%输入:Sample为待求样本矩阵
%输出:Sb为Sample的类间散布矩阵,Sw为Sample的类内散布矩阵,St为Sample的总体散布矩阵
[dim,N,C]=size(Sample); %N--每类样本的样本容量,C--类别数
Mean=zeros(dim,C);
for t=1:C
sum=zeros(dim,1);
for k=1:N
sum=sum+Sample(:,k,t);
end
Mean(:,t)=(1/N)*sum;
end
%find Sw:
Sw=zeros(dim,dim);
Transcendental_prob=1/C;
Sc=zeros(dim,dim,C);
for t=1:C
for k=1:N
V=Sample(:,k,t)-Mean(:,t);
Sw=Sw+V*V';
end
end
Sw=Sw.*(Transcendental_prob/N);
%find Sb:
S=zeros(dim,dim);
m=zeros(dim,1);
for t=1:C
m=m+Mean(:,t);
end
m=Transcendental_prob.*m;
for t=1:C
V=Mean(:,t)-m;
S=S+V*V';
end
Sb=Transcendental_prob.*S;
%find St
St=Sb+Sw;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -