• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: Matlab
  • 标签: LDA  matlab  

资源简介

使用matlab实现的线性判别分析代码,输入、输出、关键代码注释以及示例都有详细的说明。代码正确性已经得到验证!

资源截图

代码片段和文件信息

%%用LDA将数据降维
% 输入参数
% data:m*n的原始数据,m为样本个数,n为维数
% N:各个类别的样本总数,与data中的数据对应
% reduced_dim:新的数据维数
% 输出参数
% reduced_data:经过LDA处理后的m*reduced_dim的新数据
% 示例
% data=[2.95 6.63; 2.53 7.79; 3.57 5.65;3.16 5.47;2.58 4.46; 2.16 6.22; 3.27 3.52];
% N=[4 3];
function reduced_data=LDA(dataNreduced_dim)
C=length(N);
dim=size(data‘1);

% 计算每类样本在data中的起始、终止行数
pos=zeros(C2);
for i=1:C
    START=1;
    if i>1
        START=START+sum(N(1:i-1));
    end
    END=sum(N(1:i));
    pos(i:)=[START END];
end

% 每类样本均值
UI=[];
for i=1:C
    if pos(i1)==pos(i2)
        % pos(i1)==pos(i2)时,mean函数不能工作
        U

评论

共有 条评论