资源描述:
《1罗应泽 实验五 层次分析法11.15》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学建模实验报告实验序号:5日期:2012年12月3日班级10级应数B班姓名罗庭佑学号201005050255实验名称层次分析法的程序设计实验所用软件及版本Matlab软件1、实验目的(1)熟悉使用Matlab软件完成层次分析法中的特征值、权向量、一致性比率的计算。(2)进一步加深对层次分析法的流程和具体步骤的理解。2、实验内容以教材8.1节旅游问题为例(1)编写程序代码用于计算第229页对比较阵对应的最大特征值、对应的特征向量以及一致性比率,并将这些结果列表(类似于表3)(2)(选做题)使用MAT
2、LAB中求特征值函数命令eig,编写通用性强的求特征值和特征向量的程序代码,即输入任意成对比较阵B,输出对应的最大特征值、特征向量,并判断B是否通过一致性检验。运用定理2(教材P238)判断B是否为一致阵。(3)(选做题)编写根法的程序代码,即输入任意成对比较阵B,输出对应的最大特征值、特征向量。3、详细设计(包括算法描述和程序)(1)求比较阵对应的最大特征值、对应的特征向量(将其归一化处理)的程序:formatshort;%输入待求的矩阵B1B1=[125;...1/212;...1/51/21]
3、;[v,d]=eigs(B1);a=max(d(:));%最大特征值[m,n]=size(v);%得到行数和列数sum=0;fori=1:msum=sum+v(i,1);endtbvector=v(:,1);fori=1:mtbvector(i,1)=v(i,1)/sum;enddisp('最大的特征值为:');adisp('最大的特征值对应的特征向量为(标准化后的):');tbvectorformatshort;%输入待求的矩阵B2B2=[11/31/8;...311/3;...831];[v,d
4、]=eigs(B2);a=max(d(:));%最大特征值[m,n]=size(v);%得到行数和列数sum=0;fori=1:msum=sum+v(i,1);endtbvector=v(:,1);fori=1:mtbvector(i,1)=v(i,1)/sum;enddisp('最大的特征值为:');adisp('最大的特征值对应的特征向量为(标准化后的):');tbvectorformatshort;%输入待求的矩阵B3B3=[113;...113;...1/31/31];[v,d]=eigs(
5、B3);a=max(d(:));%最大特征值[m,n]=size(v);%得到行数和列数sum=0;fori=1:msum=sum+v(i,1);endtbvector=v(:,1);fori=1:mtbvector(i,1)=v(i,1)/sum;enddisp('最大的特征值为:');adisp('最大的特征值对应的特征向量为(标准化后的):');tbvectorformatshort;%输入待求的矩阵B3B3=[113;...113;...1/31/31];[v,d]=eigs(B3);a=m
6、ax(d(:));%最大特征值[m,n]=size(v);%得到行数和列数sum=0;fori=1:msum=sum+v(i,1);endtbvector=v(:,1);fori=1:mtbvector(i,1)=v(i,1)/sum;enddisp('最大的特征值为:');adisp('最大的特征值对应的特征向量为(标准化后的):');tbvectorformatshort;%输入待求的矩阵B4B4=[134;...1/311;...1/411];[v,d]=eigs(B4);a=max(d(:)
7、);%最大特征值[m,n]=size(v);%得到行数和列数sum=0;fori=1:msum=sum+v(i,1);endtbvector=v(:,1);fori=1:mtbvector(i,1)=v(i,1)/sum;enddisp('最大的特征值为:');adisp('最大的特征值对应的特征向量为(标准化后的):');tbvectorformatshort;%输入待求的矩阵B5B5=[111/4;...111/4;...441];[v,d]=eigs(B5);a=max(d(:));%最大特征
8、值[m,n]=size(v);%得到行数和列数sum=0;fori=1:msum=sum+v(i,1);endtbvector=v(:,1);fori=1:mtbvector(i,1)=v(i,1)/sum;enddisp('最大的特征值为:');adisp('最大的特征值对应的特征向量为(标准化后的):');tbvector(2)比较阵一致性比率的程序:B1=[111/4;111/4;441];n=length(B1);RI=0.58;CI=(3.005-n)/(n