• 层次分析法MATLAB


    输入成对比较矩阵,输出权重值和一致性检验结果。

    disp('请输入判断矩阵A(n阶)');
    A=input('A=');
    [n,n]=size(A);
    x=ones(n,100);
    y=ones(n,100);
    m=zeros(1,100);
    m(1)=max(x(:,1));
    y(:,1)=x(:,1);
    x(:,2)=A*y(:,1);
    m(2)=max(x(:,2));
    y(:,2)=x(:,2)/m(2);
    p=0.0001;i=2;k=abs(m(2)-m(1));
    while  k>p
      i=i+1;
      x(:,i)=A*y(:,i-1);
      m(i)=max(x(:,i));
      y(:,i)=x(:,i)/m(i);
      k=abs(m(i)-m(i-1));
    end
    a=sum(y(:,i));
    w=y(:,i)/a;
    t=m(i);
    disp(w);
             %以下是一致性检验
    CI=(t-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);
    if CR<0.10
        disp('此矩阵的一致性可以接受!');
        disp('CI=');disp(CI);
        disp('CR=');disp(CR);
    end
    

      

    矩阵例子:

    [1, 1/2, 4, 3, 3;
     2, 1,   7, 5, 5;
     1/4, 1/7, 1, 1/2, 1/3;
     1/3, 1/5, 2, 1, 1;
     1/3, 1/5, 3, 1, 1;]
    
    [1,2,5;
    1/2,1,2;
    1/5,1/2,1;]
    
    [1,1/3,1/8;
    3,1,1/3;
    8,3,1;]
    
    [1,1,3;
    1,1,3;
    1/3,1/3,1;]
    
    [1,3,4;
    1/3,1,1;
    1/4,1,1;]
    
    [1,1,1/4;
     1,1,1/4;
     4,4,1;]
    

      

  • 相关阅读:
    Twitter视频下载方式
    维基百科镜像处理
    Python sll
    youyube-dl
    python 进程池pool
    python常用正则表达式
    Struts2笔记3--OGNL
    Struts2笔记2
    Struts2笔记1
    Hibernate笔记7--JPA CRUD
  • 原文地址:https://www.cnblogs.com/zxhyxiao/p/9425357.html
Copyright © 2020-2023  润新知