1、数学建模实验答案离散模型新编实验09 离散模型(2学时)(第8章 离散模型)1. 层次分析模型(验证,编程)正互反阵最大特征根和特征向量的实用算法p263264已知正互反阵注:263定理2 n阶正互反阵A的最大特征根 n。(1) 用MATLAB函数求A的最大特征根和特征向量。调用及运行结果(见): A=1 2 6; 1/2 1 4; 1/6 1/4 1; V,D=eig(A)V = - + + - D = 0 0 0 + 0 0 0 - D=diag(D)D = + - D=D.*(imag(D)=0)D = 0 0 lambda,k=max(D)lambda = k = 1 w=V(:,k)
2、/sum(V(:,k)w = (2) 幂法(见263)A为nn正互反矩阵,算法步骤如下:a. 任取n维非负归一化初始列向量(分量之和为1);b. 计算;c. 归一化,即令;d. 对于预先给定的精度,当时,即为所求的特征向量;否则返回到步骤b;e. 计算最大特征根。注:函数式m文件如下:function lambda w=p263MI(A,d)%幂法求正互反阵最大特征根和特征向量% A 正互反方阵% d 精度% lambda 最大特征根% w 归一化特征列向量if(nargin=1) %若只输入一个变量(即A),则d取 d=1e-6;endn=length(A); %取方阵A的阶数w0=rand
3、(n,1); w0=w0/sum(w0);%任取归一化初始列向量while 1 ww=A*w0; w=ww/sum(ww); %归一化 if all(abs(w-w0)= % 成对比较阵A的一致性检验 disp(CR2=,num2str(CR2),A没有通过一致性检查!) return;end%第3层lambda3=zeros(1,5); w3k=zeros(3,5); CI3k=zeros(1,5); CR3k=zeros(1,5); for k=1:5 lambda3(k) w3k(:,k) CI3k(k) CR3k(k)=p250fun(eval(B(k,:); if CR3k(k) %
4、成对比较阵B1的一致性检验 disp(CR3k(k)=,num2str(CR3k(k),B,num2str(k),没有通过一致性检查!) return; endend%4.计算组合权向量并做组合一致性检验w3=w3k*w2; %最下层(第3层)对目标(第1层)的组合权向量%第3层组合一致性检验(从第3层开始)CI3=CI3k*w2;%随机一致性指标RI的数值(下标对应成对比较方阵的阶数):RI=0 0 ;RI3=RI(3,3,3,3,3)*w2;%标量CR3=CI3/RI3;if CR3 disp(CR3=,num2str(CR3),第3层没有通过组合一致性检查!) return;end%最下
5、层(第3层)对第1层的组合一致性比率为CR=CR2+CR3;if CR disp(CR=,num2str(CR),没有通过组合一致性检查!) return;end%添加命令用于显示有关结果:(2) 函数式m文件如下:function lamda w CI CR=p250fun(A)%求A的最大特征根及归一化特征列向量、一致性指标值CI、一致性比率值CR% A 成对比较阵(正互反方阵)% lamda 最大特征根值% w A的归一化特征列向量(权向量)% CI 一致性指标值% CR 一致性比率值 lamda w=p264HE(A); %求A的最大特征根及归一化特征列向量%随机一致性指标RI的数值(
6、下标对应成对比较方阵的阶数):RI=0 0 ;n=length(A);CI=(lamda-n)/(n-1); %一致性指标,CI=0时A为一致阵;CI越大A的不一致程度越严重CR=CI/RI(n); %一致性比率,CR时认为A的不一致程度在容许范围之内要求:请仔细阅读以上程序,完成以下实验:在脚本式m文件后面添加命令,使 显示第2层的数据。包括:最大特征根;特征向量(权向量)w;一致性指标CI;一致性比率CR。添加的命令和运行结果(见):lambda2,w2,CI2,CR2 显示第3层的数据。包括:特征向量(权向量)w;最大特征根;一致性指标CI。添加的命令和运行结果(见表3):w3k,lam
7、bda3,CI3k 显示最下层(第3层)对目标(第1层)的组合权向量。添加的命令和运行结果(见):w3 显示第2层和第3层的组合一致性比率,以及最下层对第1层的组合一致性比率。添加的命令和运行结果(见):CR2,CR3,CR2. 循环比赛的名次(编程,验证)双向连通竞赛图(4顶点)的名次排序p270, 2712724个顶点的竞赛图(教材p270中图3(4))如下:4个队得分(获胜场数)为(2,2,1,1)由得分排名为(1,2),(3,4),该竞赛图是双向连通图,属于第2种类型,可通过以下方法给出名次排序。该图的邻接矩阵为:(1) 编写一个程序,求出18级得分向量,并依据8级得分向量给出排名。给
8、出程序和运行结果(比较):clear; clc; format compact; format short g;A=0 1 1 0;0 0 1 1;0 0 0 1;1 0 0 0; %邻接矩阵n=length(A);%方阵A的阶数s=A*ones(n,1); disp(s);for k=2:8 s=A*s; disp(s);end,k=sort(s,descend); %降序k %排名(2) 求元素互不相等的得分向量法得分向量为s=A*ones其中,记s(1)=ss(k)=A*s(k-1)=Ak*ones, k=2, 3, (s(k)称为k级得分向量)程序如下:%双向连通竞赛图的名次排序(求元
9、素不等的得分向量)%文件名:clear; clc; format compact; format short g;A=0 1 1 0;0 0 1 1;0 0 0 1;1 0 0 0; %邻接矩阵n=length(A);%方阵A的阶数s=A*ones(n,1); k=1;while length(unique(s)0),且有其中,1为全1列向量,为最大实特征根且为正,s为其特征列向量。%双向连通竞赛图的名次排序(特征根法)%文件名:clear; clc; format compact; format short g;A=0 1 1 0;0 0 1 1;0 0 0 1;1 0 0 0;%邻接矩阵V
10、,D=eig(A); %返回A的特征值和特征向量。 %其中D为A的特征值构成的对角阵,每个特征值 %对应的V的列为属于该特征值的一个特征向量。D=diag(D); %返回矩阵D的对角线元素构成列向量。D=D.*(imag(D)=0); %复数特征值用0代替,实数的则不变lamda,k=max(D); lamdas=V(:,k)/sum(V(:,k); %最大特征根对应的特征列向量(归一化),k=sort(s,descend); %降序s, k(3) 运行特征根法程序。给出运行结果(比较):(验证)双向连通竞赛图(6顶点)的名次排序p270,2722736个顶点的竞赛图(教材p270中图1)如下
11、:该图的邻接矩阵为:要求:使用上题的程序。(1) 求出14级得分向量,并依据4级得分向量给出排名。运行结果(比较):(2) 运行求元素互不相等的得分向量法程序。运行结果:(3) 运行特征根法程序。运行结果(比较):3. 公平的席位分配(验证)参照惯例的席位分配方法p278279某学校有甲乙丙三个系共有200名学生,其中甲系有103人,乙系有63人,丙系有34人。(1) 有20个代表席位,采用参照惯例的席位分配方法,分别求出甲乙丙系的“席位分配结果”。(2) 有21个代表席位,采用参照惯例的席位分配方法,分别求出甲乙丙系的“席位分配结果”。下面是参照惯例的席位分配方法的求解函数:function
12、 qi,ni=p278fun(p,n)% p 各单位人数(列向量)% n 总席位(标量)% qi 按比例分配的席位(列向量)% ni 参照惯例的结果(列向量)qi=n*p/sum(p); %按比例各单位所得席位(可能含小数)ni=fix(qi); %各单位所得席位取整m=n-sum(ni); %可能有没分配完的席位if m0 %席位没分完 ,k=sort(qi-ni,descend); %按降序排序(缺省为升序) ni(k(1: m)=ni(k(1: m)+1; %排在前m个,加1end要求: 在命令窗口分别调用以上函数求解(使用最佳定点或浮点格式(5位数字)控制命令format short
13、g)。 两个结果比较,合理吗? 题(1)(20个代表席位)的调用及结果(比较表1)。 题(2)(21个代表席位)的调用及结果(比较表1)。(验证)Q值方法p280281(教材: 公平的席位分配)某学校有甲乙丙三个系共有200名学生,其中甲系有103人,乙系有63人,丙系有34人。(1) 有20个代表席位,采用Q值法分别求出甲乙丙系的“席位分配结果”。(2) 有21个代表席位,采用Q值法分别求出甲乙丙系的“席位分配结果”。下面是Q值法的求解函数:function qi,ni=p280fun(p,n)% p 各单位人数(列向量)% n 总席位(标量)% qi 按比例分配的席位(列向量)% ni 参
14、照惯例的结果(列向量)qi= n*p/sum(p);ni=fix(qi);while sum(ni)0 ,i=max(Qi); %求最大值元素及下标 ni(i)=ni(i)+1;end要求: 在命令窗口分别调用以上函数求解(使用最佳定点或浮点格式(5位数字)控制命令format short g)。 两个结果比较,合理吗? 题(1)(20个代表席位)的调用及结果(见)。 题(2)(21个代表席位)的调用及结果(见)。附1:实验提示附2:第8章 离散模型249 层次分析模型254 题答案255 题答案256 题答案263 题(2)幂法264 题(3)(4)和法、根法,答案269 循环比赛的名次272 题、(1)答案273 题(3)答案*本节完*278 公平的席位分配279 题答案281 题答案286*本节完*
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2