主成分分析法matlab实现_实例演示(4)
发布时间:2021-06-07
发布时间:2021-06-07
Cwscore.m——计算各主成分得分、综合得分并排序 Cwprint.m——读入数据文件;调用以上三个函数并输出结果
3.源程序
3.1 cwstd.m总和标准化法标准化矩阵
%cwstd.m,用总和标准化法标准化矩阵 function std=cwstd(vector)
cwsum=sum(vector,1); %对列求和
[a,b]=size(vector); %矩阵大小,a为行数,b为列数 for i=1:a
for j=1:b
std(i,j)= vector(i,j)/cwsum(j); end end
3.2 cwfac.m计算相关系数矩阵
%cwfac.m
function result=cwfac(vector); fprintf('相关系数矩阵:\n')
std=CORRCOEF(vector) %计算相关系数矩阵 fprintf('特征向量(vec)及特征值(val):\n')
[vec,val]=eig(std) %求特征值(val)及特征向量(vec) newval=diag(val) ;
[y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引 fprintf('特征根排序:\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)
上一篇:节水型城市考核标准
下一篇:产品的设计和用户体验