层次分析法

举报
爱打瞌睡的CV君 发表于 2022/07/08 00:06:03 2022/07/08
【摘要】 层次分析法代码 转载自:B站数学建模学习交流 clear;clc disp('请输入判断矩阵A: ') A=input('判断矩阵A=') Sum_A=sum(A); [n,n]=size(A); S...

层次分析法代码

转载自:B站数学建模学习交流

clear;clc
disp('请输入判断矩阵A: ')
A=input('判断矩阵A=')
Sum_A=sum(A);
[n,n]=size(A);
SUM_A=repmat(Sum_A,n,1);
%算术平均法求权重
SUM_A;
Stand_A=A./SUM_A;
sum(Stand_A,2);
disp('算术平均法求权重的结果为:');
disp(sum(Stand_A,2)/n)
%几何平均法求权重
Prduct_A=prod(A,2);
Prduct_n_A=Prduct_A.^(1/n);
disp('几何平均法求权重的结果为:');
disp(Prduct_n_A./sum(Prduct_n_A))
%特征值法求权重
[V,D]=eig(A);
Max_eig=max(max(D));
D==Max_eig;
[r,c]=find(D==Max_eig,1);
V(:,c);
disp('特征值法求权重的结果为:');
disp(V(:,c)./sum(V(:,c)))
%计算一致性比例CR
CI=(Max_eig-n)/(n-1);
RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
CR=CI/RI(n);
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<0.10
    disp('CR<0.10,该判断矩阵A的一致性可以接受!');
else
    disp('CR>=0.10,该判断矩阵A需要进行修改!');
end

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

文章来源: luckystar.blog.csdn.net,作者:爱打瞌睡的CV君,版权归原作者所有,如需转载,请联系作者。

原文链接:luckystar.blog.csdn.net/article/details/113743478

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。