精华内容
下载资源
问答
  • 介绍层次分析法的基本概念,同时也分析了层次分析法权重计算方法及应用
  • 介绍层次分析法的基本概念,同时也分析了层次分析法权重计算方法及应用,层次分析法的计算方法有四种方法:几何平均法、算术平均法、特征向量法、最小二乘法,以往的文献利用层次分析法解决实际问题时,都是采用其中的...
  • ahp层次分析法权重自动计算VBA模板,ahp层次分析法权重自动计算VBA模板,
  • 适用于学习层次分析法EXCEL版的,可以作为手动计算层次分析数据的参考
  • 很多AHP软件要么收费,要么层级受限制。这是一款简单实用的层次分析法工具软件,无需安装,完全免费,简单且容易上手,非常实用。
  • 层次分析法计算步骤

    2018-12-25 17:21:02
    层次分析法详细教程层次分析法详细教程层次分析法详细教程层次分析法详细教程
  • 在区间层次分析法(IAHP)的两两比较判断中,专家不但能够给出取值范围,还能描述范围内取值的“优劣”,即区间内取值与实际情况相符的可能程度。而现有的IAHP模型不能描述区间内取值的可能性。为此,文中基于随机...
  • 基于lingo以最小偏差为目标的层次分析法权重计算模型,陈宝星,,层次分析法评价指标的权重两两相除所得的矩阵与两两比较矩阵存在一定的偏差,以偏差的平方和最小为目标建立数学模型来确定权重,
  • AHP层次分析法计算小程序,界面友好,亲测可用,适用于windows10
  • 层次分析法计算权重

    千次阅读 2020-11-26 11:13:02
    初学者搞的层次分析法,先放代码再放图 import numpy as np import pandas as pd import pymysql import math import time import datetime from sqlalchemy import create_engine class AHP: """ 相关信息的传入...

    初学者搞的层次分析法,先放代码再放图

    import numpy as np
    import pandas as pd
    import pymysql
    import math
    import time
    import datetime
    from sqlalchemy import create_engine
    
    class AHP:
        """
        相关信息的传入和准备
        """
    
        def __init__(self, array):
            ## 记录矩阵相关信息
            self.array = array
            ## 记录矩阵大小
            self.n = array.shape[0]
            # 初始化RI值,用于一致性检验
            self.RI_list = [0, 0, 0.58, 0.90, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49, 1.51]
            # 矩阵的特征值和特征向量
            self.eig_val, self.eig_vector = np.linalg.eig(self.array)
            # 矩阵的最大特征值
            self.max_eig_val = np.max(self.eig_val)
            # 矩阵最大特征值对应的特征向量
            self.max_eig_vector = self.eig_vector[:, np.argmax(self.eig_val)].real
            # 矩阵的一致性指标CI
            self.CI_val = (self.max_eig_val - self.n) / (self.n - 1)
            # 矩阵的一致性比例CR
            self.CR_val = self.CI_val / (self.RI_list[self.n - 1])
    
        """
        一致性判断
        """
        def test_consist(self):
            # 打印矩阵的一致性指标CI和一致性比例CR
            print("判断矩阵的CI值为:" + str(self.CI_val))
            print("判断矩阵的CR值为:" + str(self.CR_val))
            # 进行一致性检验判断
            if self.n == 2:  # 当只有两个子因素的情况
                print("仅包含两个子因素,不存在一致性问题")
            else:
                if self.CR_val < 0.1:  # CR值小于0.1,可以通过一致性检验
                    print("判断矩阵的CR值为" + str(self.CR_val) + ",通过一致性检验")
                    return True
                else:  # CR值大于0.1, 一致性检验不通过
                    print("判断矩阵的CR值为" + str(self.CR_val) + "未通过一致性检验")
                    return False
        """
        特征值法求权重
        """
        def cal_weight__by_eigenvalue_method(self):
            # 将矩阵最大特征值对应的特征向量进行归一化处理就得到了权重
            array_weight = self.max_eig_vector / np.sum(self.max_eig_vector)
            # 打印权重向量
            for index in range(len(array_weight)):
                array_weight[index] = round(array_weight[index],2)
            print(array_weight)
            # 返回权重向量的23
            # 值
            return array_weight
    
    
    
    '''
      计算权重
    '''
    RI = [0, 0, 0.58, 0.90, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49, 1.51]
    
    #信息准确
    mes = np.array([[1,3,5],
                    [1/3,1,3],
                    [1/5, 1/3, 1]])
    m1 = len(mes)  # 获取指标个数
    n1 = len(mes[0])
    R1 = np.linalg.matrix_rank(mes)  # 求判断矩阵的秩
    V1, D1 = np.linalg.eig(mes)  # 求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    list1 = list(V1)
    B1 = np.max(list1)  # 最大特征值
    index1 = list1.index(B1)
    C1 = D1[:, index1]  # 对应特征向量
    CI1 = (B1 - n1) / (n1 - 1)  # 计算一致性检验指标CI
    CI1 = CI1.real
    CR1 = CI1 / RI[n1]
    CR1 = CR1.real
    if CR1 < 0.10:
        print("信息准确权重:")
        # 特征值法求权重
        mes_weight = AHP(mes).cal_weight__by_eigenvalue_method()
    
    
    #交费行为
    pay = np.array([[1, 1.1, 1.3, 5.3, 5.7, 7],
                    [1 / 1.1, 1, 1.2, 5.2, 5.5, 6.8],
                    [1 / 1.3, 1 / 1.2, 1, 5, 5.4, 6.6],
                    [1 / 5.3, 1 / 5.2, 1 / 5, 1, 1.5, 2.8],
                    [1 / 5.7, 1 / 5.5, 1 / 5.4, 1 / 1.5, 1, 2.5],
                    [1 / 7, 1 / 6.8, 1 / 6.6, 1 / 2.8, 1 / 2.5, 1]])
    m2 = len(pay)  # 获取指标个数
    n2 = len(pay[0])
    R2 = np.linalg.matrix_rank(pay)  # 求判断矩阵的秩
    V2, D2 = np.linalg.eig(pay)  # 求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    list2 = list(V2)
    B2 = np.max(list2)  # 最大特征值
    index2 = list2.index(B2)
    C2 = D2[:, index2]  # 对应特征向量
    CI2 = (B2 - n2) / (n2 - 1)  # 计算一致性检验指标CI
    CI2 = CI2.real
    CR2 = CI2 / RI[n2]
    CR2 = CR2.real
    if CR2 < 0.10:
        print("交费行为权重:")
        # 特征值法求权重
        pay_weight = AHP(pay).cal_weight__by_eigenvalue_method()
    
    #用电行为
    elec = np.array([[1,2,3.5,3.8,5.5,5.9],
                     [1/2,1,3.3,3.5,5.4,5.7],
                     [1/3.5,1/3.3,1,1.5,3.5,3.7],
                     [1/3.8,1/3.5,1/1.5,1,3.2,3.5],
                     [1/5.5,1/5.4,1/3.5,1/3.2,1,1.3],
                     [1/5.9,1/5.7,1/3.7,1/3.5,1/1.3,1]
                     ])
    m3 = len(elec)  # 获取指标个数
    n3 = len(elec[0])
    R3 = np.linalg.matrix_rank(elec)  # 求判断矩阵的秩
    V3, D3 = np.linalg.eig(elec)  # 求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    list3 = list(V3)
    B3 = np.max(list3)  # 最大特征值
    index3 = list3.index(B3)
    C3 = D3[:, index3]  # 对应特征向量
    CI3 = (B3 - n3) / (n3 - 1)  # 计算一致性检验指标CI
    CI3 = CI3.real
    CR3 = CI3 / RI[n3]
    CR3 = CR3.real
    if CR3 < 0.10:
        print("用电行为权重:")
        # 特征值法求权重
        elec_weight = AHP(elec).cal_weight__by_eigenvalue_method()
    
    #准则层判断矩阵
    credit = np.array([[1,3,5],
                    [1/3,1,3],
                    [1/5, 1/3, 1]])
    m1 = len(credit)  # 获取指标个数
    n1 = len(credit[0])
    R1 = np.linalg.matrix_rank(credit)  # 求判断矩阵的秩
    V1, D1 = np.linalg.eig(credit)  # 求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    list1 = list(V1)
    B1 = np.max(list1)  # 最大特征值
    index1 = list1.index(B1)
    C1 = D1[:, index1]  # 对应特征向量
    CI1 = (B1 - n1) / (n1 - 1)  # 计算一致性检验指标CI
    CI1 = CI1.real
    CR1 = CI1 / RI[n1]
    CR1 = CR1.real
    if CR1 < 0.10:
        print("客户信用权重:")
        # 特征值法求权重
        weight = AHP(credit).cal_weight__by_eigenvalue_method()
    
    '''
    连接ads宽表,取出数据,计算信息质量得分、交费行为得分、用电行为得分、总得分
    '''
    
    # python读数据库
    # 连接mysql数据库
    conn = pymysql.connect(
        host='25.212.157.216',
        port=13306,
        user='jingyanyuan',
        password='Jingyanyuan@%458',
        db='jingyanyuan',
        charset='utf8',
        cursorclass=pymysql.cursors.DictCursor)#json格式
    # 创建游标
    cursor = conn.cursor()  # 执行完毕返回的结果默认以元组的形式保存
    # 使用 execute()  方法执行 SQL 查询
    sql = 'select * from mrt_cons_credit_jyy_m'
    cursor.execute(sql)
    data = cursor.fetchall()
    update_sql = 'update mrt_cons_credit_jyy_m set info_ql_sco =(%s),deal_ql_sco =(%s) , elec_mn_sco =(%s), credit_sco =(%s)  where cons_no = (%s)'
    update_data = []
    #循环遍历所有数据
    for index in range(len(data)):
        total_score = 0
        row_data = data[index]
        #基础信息
        cons_no = data['cons_no']
        cons_nm = data['cons_nm']
        cert_typ = data['cert_typ']
        cert_no = data['cert_no']
        elec_typ = data['elec_typ']
        elec_addr = data['elec_addr']
        tel_no = data['tel_no']
        owner_dt = data['owner_dt']
        ls_wechat = data['ls_wechat']
        ls_app = data['is_app']
        mes_len = 18
        '''
            信息准确得分    
        '''
        mes_score = 0
    
        # 基础信息完整性
        count_null = 0
        if (cons_no.strip() == ''):
            count_null += 1
        if (cons_nm.strip() == ''):
            count_null += 1
        if (cert_typ.strip() == ''):
            count_null += 1
        if (cert_no.strip() == ''):
            count_null += 1
        if (elec_typ.strip() == ''):
            count_null += 1
        if (elec_addr.strip() == ''):
            count_null += 1
        if (tel_no.strip() == ''):
            count_null += 1
        if (owner_dt.strip() == ''):
            count_null += 1
        if (count_null == 0):
            mes_score += mes_weight[0] * 100
        elif (count_null == 1):
            mes_score += mes_weight[0] * 75
        elif (count_null == 2):
            mes_score += mes_weight[0] * 50
        elif (count_null >=3 and count_null<mes_len):
            mes_score += mes_weight[0] * 25
        else:
            mes_score += 0
    
        #基础信息准确性
        if(cert_typ==1 and len(cert_no)!=18):
            mes_score += mes_weight[1] * 0
        else:
            mes_score += mes_weight[1] * 100
    
        #附加信息完整性
        if(ls_app==0 and ls_wechat==0):
            mes_score += mes_weight[2] * 0
        elif (ls_app == 1 and  ls_wechat == 1):
            mes_score += mes_weight[2] * 100
        else:
            mes_score += mes_weight[2] * 50
        print("信息准确得分:\n")
        print(mes_score)
    
        '''
            交费行为得分    
        '''
        pay_score = 0
        rcvbl_penalty_sum = data['rcvbl_penalty_sum']
        deal_amt_sum = data['deal_amt_sum']
        deal_channel_Pref = data['deal_channel_Pref']
        deal_channel_kind = data['deal_channel_kind']
    
        # 交费金额
        if (deal_amt_sum >=0 and deal_amt_sum < 87.6):
            pay_score += 0
        elif (deal_amt_sum>= 87.6 and deal_amt_sum < 215):
            pay_score += pay_weight[0] * 25
        elif (deal_amt_sum>=215 and deal_amt_sum < 488):
            pay_score += pay_weight[0] * 50
        elif (deal_amt_sum>=488 and deal_amt_sum < 1360):
            pay_score += pay_weight[0] * 75
        else:
            pay_score += pay_weight[0] * 100
    
        # 累计违约金额占比
        pay_percent = round(rcvbl_penalty_sum/deal_amt_sum,4)
        if(pay_percent == 0):
            pay_score += pay_weight[1] * 100
        elif(pay_score<0.0003):
            pay_score += pay_weight[1] * 75
        elif (pay_score <0.0009):
            pay_score += pay_weight[1] * 50
        elif (pay_score < 0.0023):
            pay_score += pay_weight[1] * 25
        else:
            pay_score += 0
    
        # 累计违约金额
        if (rcvbl_penalty_sum == 0):
            pay_score += pay_weight[2] * 100
        elif (rcvbl_penalty_sum < 1.09):
            pay_score += pay_weight[2] * 75
        elif (rcvbl_penalty_sum < 3.95):
            pay_score += pay_weight[2] * 50
        elif (rcvbl_penalty_sum < 13.6):
            pay_score += pay_weight[2] * 25
        else:
            pay_score += 0
    
        # 交费渠道偏好
        if(deal_channel_Pref == '0203'):
            pay_score += pay_weight[3] * 75
        elif (deal_channel_Pref == '0307' or deal_channel_Pref == '030702'
              or deal_channel_Pref == '0306' or deal_channel_Pref == '011101'):
            pay_score += pay_weight[3] * 100
        else:
            pay_score += pay_weight[3] * 50
    
        # 交费渠道种类
        if(deal_channel_kind >= 3):
            pay_score += pay_weight[4] * 25
        elif (deal_channel_kind  == 2):
            pay_score += pay_weight[4] * 50
        else:
            pay_score += pay_weight[4] * 100
    
        #户龄
        now_date = datetime.datetime.fromtimestamp(time.time())
        owner_dt = datetime.datetime.fromtimestamp(owner_dt)
        dd = (now_date - owner_dt).days / 30
        dd = math.ceil(dd)
        if (dd <70 ):
            pay_score += pay_weight[5] * 25
        elif (dd<133):
            pay_score += pay_weight[4] * 50
        elif (dd <175):
            pay_score += pay_weight[4] * 75
        else:
            pay_score += pay_weight[4] * 100
    
        print("交费行为得分:\n")
        print(pay_score)
    
        elec_score = 0
    
        '''
           用电行为得分    
        '''
        violate_kind = data['violate_kind']
        violate_num = data['violate_num']
        violate_elecqt = data['violate_elecqt']
        steal_kind = data['steal_kind']
        steal_num = data['steal_num']
        steal_elecqt = data['steal_elecqt']
    
        # 违法次数
        if (steal_num == 0):
            elec_score += elec_weight[0] * 100
        elif (steal_num == 1):
            elec_score += elec_weight[0] * 10
        elif (steal_num == 2):
            elec_score += elec_weight[0] * 10
        else:
            elec_score += 0
    
        # 违规次数
        if (violate_num == 0):
            elec_score += elec_weight[1] * 100
        elif (violate_num == 1):
            elec_score += elec_weight[1] * 10
        elif (violate_num == 2):
            elec_score += elec_weight[1] * 10
        else:
            elec_score += 0
    
        # 违法追补电量
        if (steal_elecqt == 0):
            elec_score += elec_weight[2] * 100
        elif (steal_elecqt>0):
            elec_score += 0
    
        # 违规追补电量
        if (violate_elecqt == 0):
            elec_score += elec_weight[3] * 100
        elif (violate_elecqt > 0):
            elec_score += 0
    
        # 违法窃电种类
        if (steal_kind == 0):
            elec_score += elec_weight[4] * 100
        elif (steal_kind == 1):
            elec_score += elec_weight[4] * 10
        elif (steal_kind == 2):
            elec_score += elec_weight[4] * 10
        else:
            elec_score += 0
    
        #违规种类
        if (violate_kind == 0):
            elec_score += elec_weight[4] * 100
        elif (violate_kind == 1):
            elec_score += elec_weight[4] * 10
        elif (violate_kind == 2):
            elec_score += elec_weight[4] * 10
        else:
            elec_score += 0
        print("用户行为得分:\n")
        print(elec_score)
    
        #计算总分
        total_score = weight[0] * mes_score + weight[1] * pay_score + weight[2] * elec_score
    
        #赋值分数
        tmp_update_data = [mes_score,pay_score,elec_score,total_score,cons_no]
        update_data.append(tmp_update_data)
    
    
    # 批量更新
    try:
        res = cursor.executemany(update_sql, update_data)
        print(res)
        conn.commit()
    except Exception as e:
        print(e)
        conn.rollback()
    finally:
        # 关闭数据库
        cursor.close()
        conn.close()
    
    
    

    在这里插入图片描述

    展开全文
  • 信息系统分析与设计作业层次分析法确定绩效评价权重在matlab中的实现小组成员:孙高茹、王靖、李春梅、郭荣1 程序简要概述编写程序一步实现评价指标特征值lam、特征向量w以及一致性比率CR的求解。具体的操作步骤是:...

    信息系统分析与设计作业

    层次分析法确定绩效评价权重在matlab中的实现

    小组成员:孙高茹、王靖、李春梅、郭荣

    1 程序简要概述

    编写程序一步实现评价指标特征值lam、特征向量w以及一致性比率CR的求解。

    具体的操作步骤是:首先构造评价指标,用专家评定法对指标两两打分,构建比较矩阵,继而运用编写程序实现层次分析法在MATLAB中的应用。

    通过编写MATLAB程序一步实现问题求解,可以简化权重计算方法与步骤,减少工作量,从而提高人力资源管理中绩效考核的科学化电算化。 2 程序在matlab中实现的具体步骤

    function [w,lam,CR] = ccfx(A)

    %A为成对比较矩阵,返回值w为近似特征向量

    % lam为近似最大特征值λmax,CR为一致性比率

    n=length(A(:,1));

    a=sum(A);

    B=A %用B代替A做计算

    for j=1:n %将A的列向量归一化

    B(:,j)=B(:,j)./a(j);

    end

    s=B(:,1);

    for j=2:n

    s=s+B(:,j);

    end

    c=sum(s);%计算近似最大特征值λmax

    w=s./c;

    d=A*w

    lam=1/n*sum((d./w));

    CI=(lam-n)/(n-1);%一致性指标

    RI=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.51];%RI为随机一致

    展开全文
  • 层次分析法权重计算:基于Lingo的数学模型,陈宝星,,理论上,层次分析法评价准则的权重是通过计算两两比较矩阵的特征值和特征向量来确定的。而采用lingo软件建立该问题的数学模型,无�
  • 运用VBA代码实现层次分析法权重计算,可以自动计算权重向量,并进行一致性检验,从而减少计算权重向量的重复性工作,使层次分析法可以便于计算
  • AHP层次分析法计算权重、特征值、特征向量,第一作者刘兴,其他地方下载需要47个币 【 尚有疑问,欢迎沟通!! 1.CSDN上有人说可用; 2.亲自试验,代码流畅,但个人感觉特征值、特征向量存疑; 3.用java求出的特征...
  • 利用层次分析法需要计算权重,而权重计算和使用是比较麻烦的,在这里封装了一些方法。注意的吧,这个东西需要一点知识,代码应该没问题。
  • 利用层次分析法需要计算权重,而权重计算和使用是比较麻烦的,在这里封装了一些方法。注意的吧,这个东西需要一点知识,代码应该没问题。
  • 层次分析法权重计算的MATLAB程序clcclear %修改对比矩阵、一致性检验就可以a=[1,1,1,4,1,1/21,1,2,4,1,1/21,1/2,1,5,3,1/21/4,1/4,1/5,1,1/3,1/31,1,1/3,3,1,12,2,2,3,3,1];[x,y]=eig(a);eigenvalue=diag(y);lamda...

    层次分析法各权重计算的MATLAB程序

    clc

    clear %修改对比矩阵、一致性检验就可以

    a=[1,1,1,4,1,1/2

    1,1,2,4,1,1/2

    1,1/2,1,5,3,1/2

    1/4,1/4,1/5,1,1/3,1/3

    1,1,1/3,3,1,1

    2,2,2,3,3,1];

    [x,y]=eig(a);eigenvalue=diag(y);lamda=eigenvalue(1); ci1=(lamda-6)/5;cr1=ci1/1.24

    w1=x(:,1)/sum(x(:,1))

    b1=[1,1/4,1/2;4,1,3;2,1/3,1];

    [x,y]=eig(b1);eigenvalue=diag(y);lamda=eigenvalue(1); ci21=(lamda-3)/2;cr21=ci21/0.58

    w21=x(:,1)/sum(x(:,1))

    b2=[1 1/4 1/5;4 1 1/2;5 2 1];

    [x,y]=eig(b2);eigenvalue=diag(y);lamda=eigenvalue(1); ci22=(lamda-3)/2;cr22=ci22/0.58

    w22=x(:,1)/sum(x(:,1))

    b3=[1 3 1/3;1/3 1 1/7;3 7 1];

    [x,y]=eig(b3);eigenvalue=diag(y);lamda=eigenvalue(1); ci23=(lamda-3)/2;cr23=ci23/0.58

    w23=x(:,1)/sum(x(:,1))

    b4=[1 1/3 5;3 1 7;1/5 1/7 1];

    [x,y]=eig(b4);eigenvalue=diag(y);lamda=eigenvalue(1); ci24=(lamda-3)/2;cr24=ci24/0.58

    w24=x(:,1)/sum(x(:,1))

    b5=[1 1 7;1 1 7;1/7 1/7 1];

    [x,y]=eig(b5);eigenvalue=diag(y);lamda=eigenvalue(2); ci25=(lamda-3)/2;cr25=ci25/0.58

    w25=x(:,2)/sum(x(:,2))

    b6=[1 7 9;1/7 1 1 ;1/9 1 1];

    [x,y]=eig(b6);eigenvalue=diag(y);lamda=eigenvalue(1); ci26=(lamda-3)/2;cr26=ci26/0.58

    w26=x(:,1)/sum(x(:,1))

    w_sum=[w21,w22,w23,w24,w25,w26]*w1

    ci=[ci21,ci22,ci23,ci24,ci25,ci26];

    cr=ci*w1/sum(0.58*w1)

    展开全文
  • matlab层次分析法迅速求权重

    万次阅读 多人点赞 2019-06-15 10:43:18
    层次分析法是一种用处非常广的决策算法 虽然内容等于拍脑袋,不过有时候我们就是需要为拍脑袋找到合适的说法。 虽然它往往用于解决多目标选择的问题,但我们也可对其因素进行分析,来得到一个因素权重。 当然对于...

    层次分析法是一种用处非常广的决策算法

    虽然内容等于拍脑袋,不过有时候我们就是需要为拍脑袋找到合适的说法。

    虽然它往往用于解决多目标选择的问题,但我们也可对其因素进行分析,来得到一个因素权重。

    当然对于各因素求权重,需要建立一个评价矩阵(也就是拍脑袋)

    本段matlab代码即时利用评价矩阵求权重的内容,相当于目标决策的前半段部分,非常简单实用。

    %层次分析法
    A=[1 1/4 1/2 1/3 1/9;4 1 3 2 1/4;2 1/3 1 1/2 1/7;3 1/2 2 1 1/5;9 4 7 5 1];
    [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));
    31
    w=y(:,i)/a;
    t=m(i)
    disp(w)
    [v,d]=eig(A);
    r=d(1,1);
    CI=(r-n)/(n-1);
    RI=[0 0 0.58 0.9 1012 1.24 1.32 1.41 1.45]
    CR=CI/RI(n)
    if CR<0.1
    CR_result='通过'
    else
    CR_result='不通过'
    end
    disp('CR_result')

     

     

    展开全文
  • 《java求矩阵的特征值和特征向量(ahp层次分析法计算权重)(附源代码)》由会员分享,可在线阅读,更多相关《java求矩阵的特征值和特征向量(ahp层次分析法计算权重)(附源代码)(5页珍藏版)》请在金锄头文库上搜索。...
  • AHP层次分析法—特征权重初始化

    千次阅读 2019-05-21 12:26:30
    这些结果是由一些特征加权计算得到,因此如何初始化特征的权重就显得尤为重要。如果一味的按照经验去进行初始化权重,然后不停的A/B测试,权重调整,是一件研发成本特别高的事情。故我选用AHP来对特征权重进行初始化...
  • 信息系统分析与设计作业 层次分析法确定绩效评价权重在 matlab中的实现 小组成员...建比较矩阵继而运用编写程序实现层次分析法在 MATLAB中的应用 通过编写MATLAB程序一步实现问题求解可以简化权重计算方法与步骤 减少工
  • 层次分析法权重1.2.zip

    2020-08-10 19:46:44
    C#编写的WinForm窗体程序,主要计算评估指标权重,可自由修改指标,包括添加指标或删除指标,亲测可用
  • 层次分析法Matlab代码

    2018-09-18 09:38:40
    层次分析法的matlab代码,主要用于计算各影响因子的权重,下载后换成你的数据就可以用了。
  • Excel表ABCDEFGHIJKLMN1总目标子目标1子目标2子目标3子目标4Mij几何平均数权重WiAWiAWi/Wiλ=(1/n)*∑{(AWi)/Wi}CI=(λ-n)/(n-1)RI(需要查表)CR=CI/RI2子目标11342=B2*C2*D2*E2=GEOMEAN(B2:E2)=G2/G6=MMULT(B2:E2,H2...
  • 层次分析法前期求熵,权重等参数,对于不同指标的数据都可以进行计算
  • 通过问卷调查得到不同因素的不同重要程度,并将其结果通过此软件进行分析,最终得到通过专家打分产生的各因素权重的软件,在数据分析权重确定的方面应用十分方便。
  • [MATLAB]层次分析法计算权重

    千次阅读 2020-12-01 16:30:40
    %层次分析法权重函数 function [w,CR] = cengci(A) [~, 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...
  • 这里用python语言来计算判断矩阵的权重,网上大部分是matlab语言,里面也包含一致性检验的函数,具体各函数使用方法详见代码注释的部分 import numpy as np a=np.array([[1, 1 / 4, 2, 1 / 3], [4, 1, 8, 2], [1 / 2...
  • 做毕设时因为恐惧层次分析法计算量,所以通过程序实现了.层次分析法计算过程的程序化实现代码package e_5_28;/** author 曾绍涛* time 2009-5-29* function 层次分析法的程序化计算*/import java.util.HashMap;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,561
精华内容 4,624
关键字:

层次分析法权重计算

友情链接: 915MHzRFID-design.rar