⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getscatter.m

📁 使用Fisher线性鉴别分析(FLDA)方法在ORL人脸数据库上进行人脸识别试验。ORL标准人脸库共包含40人
💻 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 + -