数学建模实验答案离散模型.docx
- 文档编号:2280802
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:59
- 大小:4.26MB
数学建模实验答案离散模型.docx
《数学建模实验答案离散模型.docx》由会员分享,可在线阅读,更多相关《数学建模实验答案离散模型.docx(59页珍藏版)》请在冰豆网上搜索。
数学建模实验答案离散模型
实验09离散模型(2学时)
(第8章离散模型)
1.层次分析模型
1.1(验证,编程)正互反阵最大特征根和特征向量的实用算法p263~264
已知正互反阵
注:
[263]定理2n阶正互反阵A的最大特征根≥n。
★
(1)用MATLAB函数求A的最大特征根和特征向量。
调用及运行结果(见[264]):
>>A=[126;1/214;1/61/41];
>>[V,D]=eig(A)
V=
0.8685-0.8685-0.8685
0.47790.2390-0.4139i0.2390+0.4139i
0.13150.0658+0.1139i0.0658-0.1139i
D=
3.009200
0-0.0046+0.1663i0
00-0.0046-0.1663i
>>D=diag(D)
D=
3.0092
-0.0046+0.1663i
-0.0046-0.1663i
>>D=D.*(imag(D)==0)
D=
3.0092
0
0
>>[lambda,k]=max(D)
lambda=
3.0092
k=
1
>>w=V(:
k)/sum(V(:
k))
w=
0.5876
0.3234
0.0890
(2)幂法(见[263])
A为n×n正互反矩阵,算法步骤如下:
a.任取n维非负归一化初始列向量(分量之和为1);
b.计算;
c.归一化,即令;
d.对于预先给定的精度ε,当时,即为所求的特征向量;否则返回到步骤b;
e.计算最大特征根。
注:
函数式m文件如下:
function[lambdaw]=p263MI(A,d)
%幂法——求正互反阵最大特征根和特征向量
%A正互反方阵
%d精度
%lambda最大特征根
%w归一化特征列向量
if(nargin==1)%若只输入一个变量(即A),则d取0.000001
d=1e-6;
end
n=length(A);%取方阵A的阶数
w0=rand(n,1);w0=w0/sum(w0);%任取归一化初始列向量
while1
ww=A*w0;
w=ww/sum(ww);%归一化
ifall(abs(w-w0) break; end w0=w; end lambda=sum(ww./w0)/n; ☆ (2)用幂法函数求A的最大特征根和特征向量。 调用及运行结果(见[264]): (3)和法(见[264]) A为n×n正互反矩阵,算法步骤如下: a.将A的每一列向量归一化得; b.对按行求和得; c.将归一化即为近似特征向量; d.计算,作为最大特征根的近似值。 函数式m文件如下: function[lambdaw]=p264HE(A) %和法——求正互反阵最大特征根和特征向量 %A正互反方阵 %lambda最大特征根 %w归一化特征列向量 AA=A/diag(sum(A));%a.将A的每一列向量归一化 ww=sum(AA,2);%b.对AA按行求和,ww为列向量 w=ww./sum(ww);%c.归一化,得w为近似特征列向量 lambda=sum(A*w./w)/length(A);%d.计算最大特征根的近似值λ ☆(3)用和法函数求A的最大特征根和特征向量。 调用及运行结果(见[264]): (4)根法(见[264]) A为n×n正互反矩阵,算法步骤如下: a.将A的每一列向量归一化得; b.对按行求积并开n次方得; c.将归一化即为近似特征向量; d.计算,作为最大特征根的近似值。 ★(4)编写根法函数,用该函数求A的最大特征根和特征向量。 [提示: sum,prod,diag] 对矩阵A按行求和的调用为sum(A,2)。 对矩阵A按行求积的调用为prod(A,2)。 diag(V),用向量V构造对角矩阵。 nargin,存放函数输入自变量的数目。 编写的程序和调用及运行结果(见[264]): function[lambdaw]=p264GEN(A) %根法——求正互反阵最大特征根和特征向量 %A正互反方阵 %lambda最大特征根 %w归一化特征列向量 n=length(A); AA=A/diag(sum(A));%a.将A的每一列向量归一化 ww=(prod(AA,2)).^(1/n);%b.对AA按行求积并开n次方,ww为列向量 w=ww./sum(ww);%c.归一化,得w为近似特征列向量 lambda=sum(A*w./w)/n;%d.计算最大特征根的近似值λ 1.2(验证,编程)旅游决策问题p250~256 在下面程序中,脚本式m文件p250.m调用函数式m文件p250fun.m(求A的最大特征根及归一化特征列向量、一致性指标值CI、一致性比率值CR),p250fun.m中调用另一个函数式m文件p264HE.m(求A的最大特征根及归一化特征列向量)。 (1)脚本式m文件如下: %旅游决策问题 %文件名: p250.m clear;clc;formatcompact; %层次分析法的基本步骤: %1.建立层次结构模型 %见p250图1选择旅游地的层次结构 %2.构造成对比较阵 %第2层为准则层: 景色、费用、居住、饮食和旅途5个准则 A=[11/2433;... 21755;... 1/41/711/21/3;... 1/31/5211; 1/31/5311]; %第3层为方案层: P1、P2和P3等3个供选择地点 B1=[125;1/212;1/51/21]; B2=[11/31/8;311/3;831]; B3=[113;113;1/31/31]; B4=[134;1/311;1/411]; B5=[111/4;111/4;441]; B=['B1';'B2';'B3';'B4';'B5']; %3.计算权向量并做一致性检查 %第2层 [lambda2w2CI2CR2]=p250fun(A); ifCR2>=0.1%成对比较阵A的一致性检验 disp(['CR2=',num2str(CR2),'>0.1,A没有通过一致性检查! ']) return; end %第3层 lambda3=zeros(1,5);w3k=zeros(3,5);CI3k=zeros(1,5);CR3k=zeros(1,5); fork=1: 5 [lambda3(k)w3k(: k)CI3k(k)CR3k(k)]=p250fun(eval(B(k,: ))); ifCR3k(k)>0.1%成对比较阵B1的一致性检验 disp(['CR3k(k)=',num2str(CR3k(k)),'>0.1,B',num2str(k),'没有通过一致性检查! ']) return; end end %4.计算组合权向量并做组合一致性检验 w3=w3k*w2;%最下层(第3层)对目标(第1层)的组合权向量 %第3层组合一致性检验(从第3层开始) CI3=CI3k*w2; %随机一致性指标RI的数值(下标对应成对比较方阵的阶数): RI=[000.580.901.121.241.321.411.451.491.51]; RI3=RI([3,3,3,3,3])*w2;%标量 CR3=CI3/RI3; ifCR3>0.1 disp(['CR3=',num2str(CR3),'>0.1,第3层没有通过组合一致性检查! ']) return; end %最下层(第3层)对第1层的组合一致性比率为 CR=CR2+CR3; ifCR>0.1 disp(['CR=',num2str(CR),'>0.1,没有通过组合一致性检查! ']) return; end %添加命令用于显示有关结果: (2)函数式m文件如下: function[lamdawCICR]=p250fun(A) %求A的最大特征根及归一化特征列向量、一致性指标值CI、一致性比率值CR %A成对比较阵(正互反方阵) %lamda最大特征根值 %wA的归一化特征列向量(权向量) %CI一致性指标值 %CR一致性比率值 [lamdaw]=p264HE(A);%求A的最大特征根及归一化特征列向量 %随机一致性指标RI的数值(下标对应成对比较方阵的阶数): RI=[000.580.901.121.241.321.411.451.491.51]; n=length(A); CI=(lamda-n)/(n-1);%一致性指标,CI=0时A为一致阵;CI越大A的不一致程度越严重 CR=CI/RI(n);%一致性比率,CR<0.1时认为A的不一致程度在容许范围之内 要求: 请仔细阅读以上程序,完成以下实验: 在脚本式m文件后面添加命令,使 ★①显示第2层的数据。 包括: 最大特征根λ;特征向量(权向量)w;一致性指标CI;一致性比率CR。 添加的命令和运行结果(见[254]): lambda2,w2,CI2,CR2 ★②显示第3层的数据。 包括: 特征向量(权向量)w;最大特征根λ;一致性指标CI。 添加的命令和运行结果(见[255]表3): w3k,lambda3,CI3k ★③显示最下层(第3层)对目标(第1层)的组合权向量。 添加的命令和运行结果(见[255]): w3 ★④显示第2层和第3层的组合一致性比率,以及最下层对第1层的组合一致性比率。 添加的命令和运行结果(见[256]): CR2,CR3,CR 2.循环比赛的名次 2.1(编程,验证)双向连通竞赛图(4顶点)的名次排序p270,271~272 4个顶点的竞赛图(教材p270中图3(4))如下: 1 3 4 2 4个队得分(获胜场数)为(2,2,1,1)由得分排名为{(1,2),(3,4)},该竞赛图是双向连通图,属于第2种类型,可通过以下方法给出名次排序。 该图的邻接矩阵为: ★ (1)编写一个程序,求出1~8级得分向量,并依据8级得分向量给出排名。 给出程序和运行结果(比较[272]): clear;clc;formatcompact;formatshortg; A=[0110;0011;0001;1000];%邻接矩阵 n=length(A);%方阵A的阶数 s=A*ones(n,1);disp(s'); fork=2: 8 s=A*s;disp(s'); end [~,k]=sort(s,'descend');%降序 k'%排名 (2)求元素互不相等的得分向量法 得分向量为 s=A*ones 其中, 记s (1)=s s(k)=A*s(k-1)=Ak*ones,k=2,3,…(s(k)称为k级得分向量) 程序如下: %双向连通竞赛图的名次排序(求元素不等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 实验 答案 离散 模型