残阳悲梦 发表于 2020-2-20 13:47

主成分综合评价模型的MATLAB程序代码

clc,clear
load sj.txt    %将原始数据保存在纯文本文件sj.txt中
sj=zscore(sj);    %将数据标准化
r=corrcoef(sj);    %计算相关系数矩阵
=pcacov(r);    %利用相关系数矩阵进行主成分分析,x的列为r的特征向量,即主成分的系数,y为r的特征值,z为各个主成分的贡献率
f=repmat(sign(sum(x)),size(x,1),1);    %构造与x同维数的元素为正负1的矩阵
x=x.*f;    %修改特征向量的正负号,每个特征向量乘以所有分量和的符号函数值
num=2;    %num为选取的主成分的个数
df=sj*x(:,1:num);    %计算各个主成分的得分
tf=df*z(1:num)/100;    %计算综合得分
=sort(tf,'descend');    %把得分按照从高到低的次序排列
stf=stf',ind=ind'

页: [1]
查看完整版本: 主成分综合评价模型的MATLAB程序代码