資源簡介
Fisher判別分析的matlab程序
代碼片段和文件信息
%FDA算法
clearclc
%?load?CSTR_Train50x10
%?load?CSTR_Train1
f0=xlsread(‘f0.xlsx‘);f1=xlsread(‘f1.xlsx‘);f2=xlsread(‘f2.xlsx‘);
mvf0=mean(f0);
sdf0=std(f0);
f=‘f0f1f2‘;
p=(1/2)*size(f2);
m=size(f02);???????????????????????????%變量維數(shù)
%---------數(shù)據(jù)標(biāo)準(zhǔn)化-----------
n=zeros(1m);
for?i=1:p
????eval([‘a(chǎn)=‘f(2*i-1:2*i)‘;‘]);??????%方括號表示字符串的合并
????n(i)=size(a1);?????????????????????%求第i類樣本數(shù)
????fs=zeros(n(i)m);
????for?j=1:n(i)
????????fs(j:)=(a(j:)-mvf0)./sdf0;????%按正常數(shù)據(jù)的均值和標(biāo)準(zhǔn)差進行標(biāo)準(zhǔn)化
????end
???eval([f(2*i-1:2*i)‘=fs;‘]);?????????%f0~f6均為標(biāo)準(zhǔn)化后的矩陣
end
%------------求內(nèi)部離散度和類內(nèi)離散度---------------
mvf=zeros(pm);
Sw=zeros(mm);??????????????????????????%類內(nèi)離散度
for?i=1:p
????eval([‘a(chǎn)=‘f(2*i-1:2*i)‘;‘]);
????mvf(i:)=mean(a);???????????????????%類i的均值向量
????Sj=zeros(mm);
評論
共有 條評論