东南大学《数学实验》报告学号姓名成绩
实验内容:
一实验目的
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小时内删除。
发表评论