资源简介
用MATLAB实现的主成分分析法,有数据,可直接运行
代码片段和文件信息
clc
clear all
fid=fopen(‘data.txt‘‘r‘)
X=fscanf(fid‘%g‘[10 35]);
X=X‘;
ans=fclose(fid)
%fprintf(‘标准化结果如下:\n‘)
%vl=cwstd(vector)
%result=cwfac(vl);
%[resultstd]=cwfac(X);
%cwscore(stdresult);
fprintf(‘标准样本变换法标准化的(std):\n‘)
std=zscore(X)
fprintf(‘计算相关系数矩阵(st):\n‘)
st=corrcoef(std)
fprintf(‘特征向量(vec)及特征值(val):\n‘)
[vecval]=eig(st)
newval=diag(val);
[yi]=sort(newval); %对特征根进行排序,y为排序结果,i为索引
fprintf(‘特征根排序:\n\n‘)
for z=1:length(y)
newy(z)=y(length(y)+1-z);
end
fprintf(‘%g\n‘newy)
rate=y/sum(y);%【计算贡献率】
fprintf(‘\n贡献率:\n‘)
newrate=(newy/sum(newy))%
sumrate=0;
newi=[];
for k=length(y):-1:1
sumrate=sumrate+rate(k);
newi(length(y)+1-k)=i(k);
if sumrate>0.85 break; %【70%在这里改动】
end
end
fprintf(‘主成分数:%g\n\n‘length(newi));%【newi里放的是主成分】
fprintf(‘主成分荷载:\n‘)
for p=1:length(newi)
for q=1:length(y)
result(qp)=sqrt(newval(newi(p)))*vec(qnewi(p));
end
end%计算荷载
disp(result)
sco=std*result;
csum=sum(sco2);
[newcsumi]=sort(-1*csum);
[newij]=sort(i);
fprintf(‘计算得分:\n‘)
score=[scocsumj]%得分矩阵:sco为各主成分得分;csum为综合得分;j为排序结果
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2955 2012-10-27 14:42 PCA\data.txt
文件 1257 2012-10-31 13:23 PCA\pca.m
目录 0 2013-01-15 14:33 PCA
----------- --------- ---------- ----- ----
4212 3
- 上一篇:Matlab 常微分方程数值解法
- 下一篇:误差分析计算公式和对应的matlab实现
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 高光谱图像pca分析特征提取
- 检测疲劳驾驶
评论
共有 条评论