层次分析法计算权重在matlab 中的实现(3 页)Good is good, but better carries it.精益求精,善益求善。信息系统分析与设计作业层次分析法确定绩效评价权重在 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);ends=B(:,1);for j=2:n s=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);%求一致性比率if CR>0.1 disp('没有通过一致性检验');else disp('通过一致性检验'); endend3 案例应用我们拟构建公司员工绩效评价分析权重,完整操作步骤如下:3.1 构建的评价指标体系我们将影响员工绩效评定的指标因素分为:打卡、业绩、创新、态度与品德。3.2 专家打分,构建两两比较矩阵A = 1.0000 0.5000 3.0000 4.0000 2.0000 1.0000 5.0000 3.0000 0.3333 0.2000 1.0000 2.00000.2500 0.3333 0.5000 1.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 等整理好的数据文件将指标导入进而实现运算,在数据录入整理方面存在缺陷。:{!~…!—)'【,${@,:~~—!*…!。-…)]!,