资源描述
用层次分析法挑选电脑一实验目的运用层次分析法,建立指标评价体系,得到电脑的层次结构模型,然后构造判断矩阵,求得各项子指标的权重,最后给出电脑品牌综合评价得分计算公式并进行实证分析,为购买个人电脑提供有效、科学合理的方法。二实验内容4.用层次分析法解决一两个实际问题;你要购置一台个人电脑,考虑功能、价格等的因素,如何做出决策。解:层次分析发法基本步骤:建立一个客观有效、科学合理的购买方式,对于个人电脑的购买是至关重要的。在此我们运用层次分析法(AHP),以性能、价格、外观、售后四个方面作为个人电脑购买的一级选择指标,然后构造判断矩阵,得到各个指标的权重,结合大众对个人电脑的各方面指标的重视程度,算出各项指标的得分,将这些得分进行加权求和得到电脑的综合选择得分,根据分配名额按总分排序即可选出购买何种电脑。(一)建立层次模型如图所示,将决策问题分为三层,第一层目标层:买什么电脑,第二层准则层,分为:性能,外观,价格,售后四个因素,第三层方案层:苹果,戴尔,微软,外星人四个品牌。(二)构成比较矩阵及其权重准则层对目标层12121/211211121/21/21/21 由matlab可以知道,l=4.0606并且知道权向量w=(0.3397,0.2390,0.280,0.1404)T性能11/41/21/84141/421/411/48441 由matlab可以知道,l=4.1855价格11/211214211/41111/211 由matlab可以知道,l=4.0606外观1211/21/211/211212211/21 由matlab可以知道,l=4.2493售后11/211212211/21111/211 由matlab可以知道,l=4k性能外观价格售后wk(3)0.05880.24910.10270.5894 0.24480.16720.33440.25360.18970.45900.16150.18970.20000.40000.20000.2000lk4.18554.24934.06064ClK0.06180.08310.02020由表格可以看出,当n=4的时候,随机一致性指标为RI=0.9,所以Cl均通过一致性检验(三)组合权向量已知准则层对目标层的权向量w=(0.3397,0.2390,0.2808,0.1404)T和方案层对准则层的权向量wk(3),所以将权重的对应项两两相乘之和:苹果对目标层的权重:0.0588*0.3397+0.2448*0.2930+0.1897*0.2808+0.2*0.1404=0.172969同理可知:戴尔,微软,外星人的权重分别为0.270632,0.261726,0.397889由结果可知,外星人的权重最高,所以应选外星人附录:%层次分析法的matlab程序 clc,cleardisp(输入判断矩阵);% 在屏幕显示这句话A=input(A=);% 从屏幕接收判断矩阵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=0.0001;i=2;k=abs(m(2)-m(1);% 初始化p,i,k为m(2)-m(1)的绝对值while kp% 当kp是执行循环体 i=i+1;% i自加1 x(:,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的第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.10 disp(此矩阵的一致性可以接受!); disp(CI=);disp(CI); disp(CR=);disp(CR);else disp(此矩阵的一致性不可以接受!);end
展开阅读全文