东南大学《数学实验》报告学号姓名成绩
实验内容:
一实验目的
1.掌握matlab基本矩阵编程计算方法
2.加深对层次分析法的理解
3.掌握矩阵随机一致性指标RI的计算过程
二实验思路
为了求任意n阶矩阵的随机一致性指标RI的值,我们需要做以下几步工作
1.先构造n阶的正互反矩阵
2.求正互反矩阵的特征值
3.出最大特征值
4.取多个n阶正互反矩阵最大特征值的平均值
5.计算相应的RI值
三实验内容与要求
1.实验代码及说明
RI=zeros(1,30);        %zeros(m,n)产生m*n的double类零矩阵,zeros(n)产生n*n的
全0阵。
%定义了结果输出格式(行向量)for n=3:30            %定义n的范围;3-30
times=10000;          %任意n阶矩阵产生10000个正互反矩阵
enum=[9 8 7 6 5 4 3 2 1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9];  %定义一维矩阵
enum
x=zeros(1,times);                  %定义最大特征值向量并初始化
A=ones(n,n);                      %先生成n阶幺矩阵,矩阵所有元素都为1
for num=1:times                  %循环
for i=1:n
for j=i+1:n                        %先到正互反矩阵的上三角
A(i,j)=enum(ceil(17*rand(1)));        %rand(1)随机生成一个位于区间(0,1)的数
%17*rand(1)则随机生成位于区间(0,17)的数,
%经ceil函数取整后得到一个1-17之间的整数。
%则A(i,j)的值为矩阵enum中的某一个
A(j,i)=1/(A(i,j));                    %矩阵的下三角元素是上三角元素的倒数
A(i,i)=1;                          %对角线元素取1
%以上五段为构造正互反矩阵
end
end
V=eig(A);                          %求矩阵的特征值
x(num)=max(V);                    %以最大特征值给x向量赋值
end
k=sum(x)/times;                      %最大特征值平均值
RI(n)=(k-n)/(n-1);                    %算出对应RI的值
end
RI
正则化一个5 5随机矩阵2.实验结果(随机运行两次代码,得到不同的结果)
(1)
RI =
1 至 14 列
0        0    0.5258    0.8924    1.1099    1.2507    1.3353    1.4087
1.4526    1.4876    1.5111    1.5369    1.5550    1.5704
15 至 28 列
1.5834    1.5950    1.6057    1.6159    1.6199    1.6280    1.6355    1.6402    1.6463    1.6508    1.6541    1.6597    1.6633    1.6661
29 至 30 列
1.6700    1.6723
(2)
RI =
1 至 14 列
0        0    0.5285    0.8935    1.1077    1.2530    1.3420    1.4026
1.4539    1.4903    1.5121    1.5346    1.5570    1.5719
15 至 28 列
1.5865    1.5946    1.6055    1.6149    1.6233    1.6292    1.6354    1.6413    1.6462    1.6522    1.6554    1.6593    1.6642    1.6667
29 至 30 列
1.6695    1.6720
3.结果分析
虽然运行两次得到的结果不同,但差距并不是很大,可以大致得到n 阶矩阵对应的RI值的范围。为了简单,在误差范围内,可以取结果的前两位作为对应的RI值。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。