Compare commits
5 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
19fa153e5a | 1 year ago |
|
|
7c100f95fa | 1 year ago |
|
|
7a93f76da0 | 1 year ago |
|
|
5a9d5da45d | 1 year ago |
|
|
a1f852b393 | 1 year ago |
@ -0,0 +1,64 @@
|
|||||||
|
%AHP步骤
|
||||||
|
|
||||||
|
clc,clear,close all;
|
||||||
|
A=[1,2,3,5
|
||||||
|
1/2,1,1/2,2
|
||||||
|
1/3,2,1,2
|
||||||
|
1/5,1/2,1/2,1];
|
||||||
|
[row,col]=size(A);
|
||||||
|
|
||||||
|
%判断矩阵一致性检验
|
||||||
|
n=col;
|
||||||
|
maxlam=max(eig(A));
|
||||||
|
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45];
|
||||||
|
CI=(maxlam-n)/(n-1);
|
||||||
|
CR=CI/RI(n);
|
||||||
|
|
||||||
|
%判断矩阵确定权重
|
||||||
|
for i=1:col
|
||||||
|
sumcol=sum(A(:,i));
|
||||||
|
for j=1:row
|
||||||
|
A(j,i)=A(j,i)/sumcol;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
weig=zeros(row,1);
|
||||||
|
for i=1:row
|
||||||
|
sumrow=sum(A(i,:));
|
||||||
|
weig(i)=sumrow/n;
|
||||||
|
end
|
||||||
|
|
||||||
|
%各个指标归一化 按列单位化
|
||||||
|
data= [1686.4 3183 12000 397
|
||||||
|
903.6 1916.4 3439.6 43
|
||||||
|
837.6 817.6 4748 1159
|
||||||
|
824.9 1296.4 12000 442
|
||||||
|
2110.2 1465.7 6199.5 228];
|
||||||
|
[rowd,cold]=size(data);
|
||||||
|
for i=1:cold
|
||||||
|
sumcold=sum(data(:,i));
|
||||||
|
for j=1:rowd
|
||||||
|
data(j,i)=data(j,i)/sumcold;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
%按权重计算分数
|
||||||
|
|
||||||
|
score=data*weig;
|
||||||
|
|
||||||
|
|
||||||
|
projectNames={'老番茄','何同学','木鱼水心','凉风','罗翔'};
|
||||||
|
figure;
|
||||||
|
bar(score);%条形图
|
||||||
|
|
||||||
|
set(gca, 'XTickLabel', projectNames); %每个条形图标签
|
||||||
|
xlabel('博主');
|
||||||
|
ylabel('加权总分');
|
||||||
|
title('得分');
|
||||||
|
|
||||||
|
grid on; % 网格线
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
clc,clear,close all;
|
||||||
|
|
||||||
|
%相关系数矩阵
|
||||||
|
r=[ 1.000,0.577,0.509,0.387,0.462
|
||||||
|
0.577,1.000,1.599,0.389,0.322
|
||||||
|
0.509,0.599,1.000,0.436,0.426
|
||||||
|
0.387,0.389,0.436,1.000,0.523
|
||||||
|
0.462,0.322,0.426,0.523,1.000];
|
||||||
|
|
||||||
|
[vec1,val,rate]=pcacov(r);%特征向量、特征值、贡献率
|
||||||
|
f1=repmat(sign(sum(vec1)),size(vec1,1),1);%调整符号
|
||||||
|
vec2=vec1.*f1;%是用 .*
|
||||||
|
f2=repmat(sqrt(val)',size(vec2,1),1);
|
||||||
|
a=vec2.*f2;%载荷矩阵
|
||||||
|
a1=a(:,1);
|
||||||
|
tcha1=diag(r-a1*a1');
|
||||||
|
a2=a(:,[1,2]);
|
||||||
|
tcha2=diag(r-a2*a2');
|
||||||
|
ccha2=r-a2*a2'-diag(tcha2);
|
||||||
|
con=cumsum(rate);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
clc,clear,close all;
|
||||||
|
load data_mh.mat;
|
||||||
|
[n,p]=size(x);
|
||||||
|
%标准化
|
||||||
|
X=zscore(x);
|
||||||
|
|
||||||
|
%相关系数矩阵
|
||||||
|
r=cov(X);
|
||||||
|
|
||||||
|
[vec1,val,rate]=pcacov(r);%特征向量、特征值、贡献率
|
||||||
|
f1=repmat(sign(sum(vec1)),size(vec1,1),1);%调整符号
|
||||||
|
vec2=vec1.*f1;%是用 .*
|
||||||
|
f2=repmat(sqrt(val)',size(vec2,1),1);
|
||||||
|
a=vec2.*f2;%载荷矩阵
|
||||||
|
a1=a(:,1);
|
||||||
|
tcha1=diag(r-a1*a1');
|
||||||
|
a2=a(:,[1,2]);
|
||||||
|
tcha2=diag(r-a2*a2');
|
||||||
|
ccha2=r-a2*a2'-diag(tcha2);
|
||||||
|
con=cumsum(rate);
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in new issue