• 层次分析法


    层次分析法的使用

    待补充

    代码

    %输入判断矩阵
    % A=input("请输入判断矩阵:")
    A=[1 2 3;
         1/2 1 3/2;
        1/3 2/3 1]
    disp(A);clc;
    
    %一致性检验
    E=eig(A);
    disp('矩阵的最大特征值:');
    l_max=max(E(:))
    CI=(l_max-3)/(3-1)
    RI=0.52 %平均随机一致性指标
    CR=CI/RI
    if CR<0.01
        disp("判断矩阵通过一次性检验")
    else 
        disp(['判断矩阵值为:' ,num2str(CR),',请调整判断矩阵'])
    end
    
    %算法平均法
    %第一步 列归一化
    for j=1:3
        s=sum(A(:,j));
        A(:,j)=A(:,j)/s;
    end
    % disp(A);
    %第二步 行相加
    w1=sum(A,2);
    %第三步 算术平均
    disp('算术平均:');disp(w1/3);
    
    A=[1 2 3;
         1/2 1 3/2;
        1/3 2/3 1];
    % disp(A);
    %几何平均法
    A_prod=prod(A,2);
    A_prod_n=A_prod.^(1/3);
    disp('几何平均法:');disp(A_prod_n/sum(A_prod_n));
    
    %特征向量法
    [V,D]=eig(A)
    max_eig=max(D(:));%找到对角矩阵中最大的特征值
    [r,c]=find(D==max_eig,1);%找到第一个最大特征值的行列
    w=V(:,c)/sum(V(:,c));
    disp('特征向量为:');disp(w);
    
    追风少年
  • 相关阅读:
    数据库注意事项
    SQL函数
    2019 SDN阅读作业(2)
    2019 SDN上机第五次作业
    2019 SDN上机第四次作业
    2019 SDN阅读作业
    2019 SDN上机第三次作业
    mysql使用记录
    2019 SDN上机第二次作业
    2019 SDN上机第一次作业
  • 原文地址:https://www.cnblogs.com/lzycodinglife/p/12570972.html
Copyright © 2020-2023  润新知