zoukankan      html  css  js  c++  java
  • 层次分析法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;]
    

      

  • 相关阅读:
    有关HL7 的C# 源码
    EF中调整字段的顺序
    xml schema 中如何定义类似Map的结构
    js将时间转换为时间戳
    postman使用
    H5拖拽
    读取XML文件中获取特定值
    读取XML文件
    owin使用
    C#跨线程访问
  • 原文地址:https://www.cnblogs.com/zxhyxiao/p/9425357.html
Copyright © 2011-2022 走看看