1、1用层次分析法挑选电脑一实验目的运用层次分析法,建立指标评价体系,得到电脑的层次结构模型,然后构造判断矩阵,求得各项子指标的权重,最后给出电脑品牌综合评价得分计算公式并进行实证分析,为购买个人电脑提供有效、科学合理的方法。二实验内容4.用层次分析法解决一两个实际问题;你要购置一台个人电脑,考虑功能、价格等的因素,如何做出决策。解:层次分析发法基本步骤:建立一个客观有效、科学合理的购买方式,对于个人电脑的购买是至关重要的。在此我们运用层次分析法(AHP),以性能、价格、外观、售后四个方面作为个人电脑购买的一级选择指标,然后构造判断矩阵,得到各个指标的权重,结合大众对个人电脑的各方面指标的重视程度
2、,算出各项指标的得分,将这些得分进行加权求和得到电脑的综合选择得分,根据分配名额按总分排序即可选出购买何种电脑。(一)建立层次模型2如图所示,将决策问题分为三层,第一层目标层:买什么电脑,第二层准则层,分为:性能,外观,价格,售后四个因素,第三层方案层:苹果,戴尔,微软,外星人四个品牌。(二)构成比较矩阵及其权重准则层对目标层1 2 1 21/21 1 21 1 1 21/21/21/21由 matlab 可以知道, 并且知道权向量(,) 3性能1 1/41/21/84 1 4 1/42 1/41 1/48 4 4 1由 matlab 可以知道, 价格41 1/21 12 1 4 21 1/4
3、1 11 1/21 1由 matlab 可以知道, 外观1 2 1 1/21/21 1/211 2 1 22 1 1/21由 matlab 可以知道, 5售后1 1/21 12 1 2 21 1/21 11 1/21 1由 matlab 可以知道, 6k 性能 外观 价格 售后k(3)0.05880.24910.10270.5894 0.24480.16720.33440.2536 0.18970.45900.16150.1897 0.20000.40000.20000.2000k 4.1855 4.2493 4.0606 4ClK 0.0618 0.0831 0.0202 0由表格可以看出,
4、当 n=4 的时候,随机一致性指标为RI=0.9,所以 Cl 均通过一致性检验(三)组合权向量已知准则层对目标层的权向量( , ,) 和方案层对准则层的权向量,所以将权重的对应项两两相乘之和:苹果对目标层的权重:70.0588*0.3397+0.2448*0.2930+0.1897*0.2808+0.2*0.1404=0.172969同理可知:戴尔,微软,外星人的权重分别为0.270632,0.261726,0.397889由结果可知,外星人的权重最高,所以应选外星人8附录:%层次分析法的matlab程序 clc,cleardisp(输入判断矩阵);% 在屏幕显示这句话A=input(A=);
5、% 从屏幕接收判断矩阵n,n=size(A);% 计算A的维度,这里是方阵,这么写不太好x=ones(n,100);% x为n行100列全1的矩阵y=ones(n,100);% y同xm=zeros(1,100);% m为1行100列全0 的向量m(1)=max(x(:,1);% x第一列中最大的值赋给m的第一个分量y(:,1)=x(:,1);% x的第一列赋予y的第一列x(:,2)=A*y(:,1);% x的第二列为矩阵A*y(:,1)m(2)=max(x(:,2);% x第二列中最大的值赋给m的第二个分量y(:,2)=x(:,2)/m(2);% x的第二列除以 m(2)后赋给y的第二列p=
6、0.0001;i=2;k=abs(m(2)-m(1);% 初始化p,i,k为m(2)-m(1)的绝对值while kp% 当kp是执行循环体i=i+1;% i自加1x(:,i)=A*y(:,i-1);% x的第 i列等于A*y 的第i-1列m(i)=max(x(:,i);% m的第 i个分量等于x第i列中最大的值y(:,i)=x(:,i)/m(i);% y的第i列等于x的第i列除以m的第i 个分量k=abs(m(i)-m(i-1);% k等于m(i)-m(i-1) 的绝对值enda=sum(y(:,i);% y的第i列的和赋予 aw=y(:,i)/a;% y的第i列除以at=m(i);% m的
7、第i个分量赋给tdisp(权向量:);disp(w);% 显示权向量wdisp(最大特征值:);disp(t);% 显示最大特征值t%以下是一致性检验CI=(t-n)/(n-1);% t-维度再除以维度 -1的值赋给CIRI=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 CR0.10disp(此矩阵的一致性可以接受!);disp(CI=);disp(CI);disp(CR=);disp(CR);else disp(此矩阵的一致性不可以接受!);end