层次分析法
【摘要】
层次分析法代码
转载自: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)