zoukankan      html  css  js  c++  java
  • Matlab 层次分析法 求解权重矩阵

    注:应用程序时,只需要将评判矩阵,也就是判断矩阵,输入到程序中即可,即修改A矩阵,其他地方都不需要修改。

            首先进行对矩阵一致性的判断,只有通过一致性检验的矩阵,得到的权重才更可靠,涉及较少变量(如2个变量)直接手算。


    Matlab代码如下:

    % %AHP权重计算MATLAB程序
    % %数据读入
    clc;
    clear all;
    A=[1 2 6;1/2 1 4;1/6 1/4 1];
    % %一致性检验和权向量计算
    [n,n]=size(A);
    [v,d]=eig(A);
    r=d(1,1);
    CI=(r-n)/(n-1);
    RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];
    CR=CI/RI(n);
    if(CR<0.10)
        CR_RESULT='通过';
    else
        CR_RESULT='不通过';
    end
    % %权向量计算
    w=v(:,1)/sum(v(:,1));
    w=w';
    % %结果给出
    disp('该判断矩阵权向量计算报告:');
    disp(['一致性指标:' num2str(CI)]);
    disp(['一致性比例:' num2str(CR)]);
    disp(['一致性检验结果:' CR_RESULT]);
    disp(['特征值:' num2str(r)]);
    disp(['特征向量:' num2str(w)]);
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    23种设计模式之原子模式
    23种设计模式之外观模式(门面模式)
    Docker指令记录
    mysql 引擎
    G1调优随笔
    jvm面试题 新生代和 老年代的区别
    java虚拟机栈 相关操作
    .net大法总章
    .net趣味面试题总结
    IOC控制反转-依赖注入
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965296.html
Copyright © 2011-2022 走看看