当前位置:首页 > 数学建模实验答案 离散模型
实验09 离散模型(2学时)
(第8章 离散模型)
1. 层次分析模型
1.1(验证,编程)正互反阵最大特征根和特征向量的实用算法p263~264
已知正互反阵
26??1?A??1/214????1/61/41??
注:[263]定理2 n阶正互反阵A的最大特征根 ≥ n。
★(1) 用MATLAB函数求A的最大特征根和特征向量。
调用及运行结果(见[264]):
>> A=[1 2 6; 1/2 1 4; 1/6 1/4 1]; >> [V,D]=eig(A) V = 0.8685 -0.8685 -0.8685 0.4779 0.2390 - 0.4139i 0.2390 + 0.4139i 0.1315 0.0658 + 0.1139i 0.0658 - 0.1139i D = 3.0092 0 0 0 -0.0046 + 0.1663i 0 0 0 -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 = 1
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)w(0);
%b. 计算w(k?1)?Aw(k),k?0,1,2,L;
(k?1)(k?1)%c. w归一化,即令w?(k?1)%w%?wi?1n;
(k?1)id. 对于预先给定的精度ε,当|wi(k?1)?wi(k)|??(i?1,2,L,n)时,w(k?1)即
为所求的特征向量;否则返回到步骤b;
(k?1)%1nwie. 计算最大特征根???(k)。
ni?1wi注:
(k?1)%Aw(k)??w(k)?w??w(k)?(k?1)%wi???(k)wii?1,2,L,n
函数式m文件如下: function [lambda w]=p263MI(A,d) %幂法——求正互反阵最大特征根和特征向量 % A % d 正互反方阵 精度 2
% 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);%任取归一化初始列向量 while 1 ww=A*w0; w=ww/sum(ww); %归一化 if all(abs(w-w0) 调用及运行结果(见[264]): (3) 和法(见[264]) 3 A为n×n正互反矩阵,算法步骤如下: aij~w?a. 将A的每一列向量归一化得ij; n?aiji?1~?w~按行求和得wb. 对w?~ij; iijj?1n~wi~,w?(w1,w2,?,wn)T即为近似特征向量; c. 将wi归一化wi?n~?wii?11n(Aw)id. 计算???,作为最大特征根的近似值。 ni?1wi函数式m文件如下: function [lambda w]=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
共分享92篇相关文档