• 大小: 0M
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: Matlab
  • 标签: 其他  

资源简介

myPCA.m

资源截图

代码片段和文件信息

function [PrimeVectorPrimeValueNumKmain_t PrimeMatrixtE]=myPCA(data yita);
% 函数功能:主成分分析
% 函数输入:
%       data: 原始数据
%       yita: 需要保留的信息量(0-1)之间的数
% 函数输出:
%       PrimeVector: 特征向量
%       PrimeValue: 特征值
%       NumK:主成分个数
%       main_t:主元向量
%       PrimeMatrix: 主元矩阵
%       t:主元矩阵
%       E:残差矩阵

[mmnn]=size(data);
if mm    data=data‘;
    mm=nn;
end

% 求协方差矩阵
R=cov(data);

% 求协方差矩阵的特征值和特征向量
[Tvector lamda]=eig(R);
[mn]=size(Tvector);
% 对特征值排序
lamda_vector=zeros(n1);
for i=1:n
    lamda_vector(i)=lamda(ii); % 把矩阵写成向量
end
[lamda_sortlamda_index]=sort(lamda_vector‘descend‘); % 对特征值进行降序排列

% 确定需要保留的主元个数
n=length(lamda_sort); % 计算特征

评论

共有 条评论