失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 层次分析法matlab代码记录

层次分析法matlab代码记录

时间:2018-08-15 07:51:55

相关推荐

层次分析法matlab代码记录

clear,clc %层次分析法A = [1 1/2 1/3 1/2;2 1 1/2 1;3 2 1 2;2 1 1/2 1]; % 输入判断矩阵n = size(A,1);%方阵的行(列)数%% 特征值法求权重[V,D] = eig(A);%V是特征向量, D是由特征值构成的对角矩阵max_eig= max(D(:)); %求出矩阵A的最大特征值[r,c] = find(D==max_eig,1); % 寻D中首个与最大特征值相等的元素的位置记录其行和列。w=V(:,c) ./ sum(V(:,c)); % 对求出的特征向量进行归一化即可得到我们的权重disp('特征值法求权重的结果为:') disp(w) %% 计算一致性比例CRCI = (max_eig - n) / (n-1); %一致性指标CIRI=[0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49]; %随机一致性指标RI %注意:这里的RI最多支持 n = 10CR=CI/RI(n);disp('一致性指标CI=');disp(CI);disp('一致性比例CR=');disp(CR); if CR<0.10disp('因为CR<0.10,所以该判断矩阵A的一致性可以接受!');elsedisp('注意:CR>=0.10,因此该判断矩阵A需要进行修改!');endscore=[60 90 100 80]';%输入该人员各指标得分(转换为和权重一样的列向量)score_total=sum(w.*score); %计算综合得分

如果觉得《层次分析法matlab代码记录》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。