您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 层次分析法计算权重在matlab中的实现
信息系统分析与设计作业层次分析法确定绩效评价权重在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做计算forj=1:n%将A的列向量归一化B(:,j)=B(:,j)./a(j);ends=B(:,1);forj=2:ns=s+B(:,j);endc=sum(s);%计算近似最大特征值λmaxw=s./c;d=A*wlam=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为随机一致性指标CR=CI/RI(n);%求一致性比率ifCR0.1disp('没有通过一致性检验');elsedisp('通过一致性检验');endend3案例应用我们拟构建公司员工绩效评价分析权重,完整操作步骤如下:3.1构建的评价指标体系我们将影响员工绩效评定的指标因素分为:打卡、业绩、创新、态度与品德。3.2专家打分,构建两两比较矩阵A=1.00000.50003.00004.00002.00001.00005.00003.00000.33330.20001.00002.00000.25000.33330.50001.00003.3在MATLAB中运用编写好的程序实现直接在MATLAB命令窗口中输入[w,lam,CR]=ccfx(A)继而直接得出d=1.30352.00000.51450.3926w=0.31020.46910.12420.0966lam=4.1687CR=0.0625,通过一致性检验3.4解读程序结果根据程序求解中得出的特征向量,可以得出打卡、业绩、创新以及态度品德在员工绩效评价中所占的权重分别为:0.3102、0.4691、0.1242、0.0966。4程序评价优点:运用层次分析法确定绩效评价指标可以简化权重计算方法与步骤,减少工作量,从而提高人力资源管理中绩效考核的科学化电算化;可以实现excel、spss等数据文件的导入,将各个指标的数据导入文件,进而计算出其绩效。缺点:程序本身没有自带的数据库,只能借助excel等整理好的数据文件将指标导入进而实现运算,在数据录入整理方面存在缺陷。
本文标题:层次分析法计算权重在matlab中的实现
链接地址:https://www.777doc.com/doc-1733226 .html