求判断矩阵权重以及最大特征值 MATLAB程序
判断矩阵的最大特征值

项目六 矩阵的特征值与特征向量实验1 求矩阵的特征值与特征向量实验目的学习利用Mathematica(4.0以上版本)命令求方阵的特征值和特征向量;能利用软件计算方阵的特征值和特征向量及求二次型的标准形.求方阵的特征值与特征向量.例1.1 (教材 例1.1) 求矩阵.031121201⎪⎪⎪⎭⎫ ⎝⎛--=A 的特征值与特值向量.(1) 求矩阵A 的特征值. 输入 A={{-1,0,2},{1,2,-1},{1,3,0}}MatrixForm[A] Eigenvalues[A]则输出A 的特征值{-1,1,1}(2) 求矩阵A 的特征向量. 输入A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigenvectors[A]则输出 {{-3,1,0},{1,0,1},{0,0,0}}即A 的特征向量为.101,013⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎭⎫ ⎝⎛-(3) 利用命令Eigensystem 同时矩阵A 的所有特征值与特征向量. 输入A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigensystem[A]则输出矩阵A 的特征值及其对应的特征向量.例1.2 求矩阵⎪⎪⎪⎭⎫ ⎝⎛=654543432A 的特征值与特征向量.输入A=T able[i+j,{i,3},{j,3}] MatrixForm[A](1) 计算矩阵A 的全部(准确解)特征值, 输入Eigenvalues[A]则输出{0, 426-,426+}(2) 计算矩阵A 的全部(数值解)特征值, 输入Eigenvalues[N[A]]则输出{12.4807, -0.480741, -1.34831610-⨯}(3) 计算矩阵A 的全部(准确解)特征向量, 输入Eigenvectors[A]//MatrixForm则输出121172422344220342234421172422344220342234421(4) 计算矩阵A 的全部(数值解)特征向量, 输入Eigenvectors[N[A]]//MatrixForm则输出0.4303620.5665420.7027220.805060.111190.5826790.4082480.8164970.408248(5) 同时计算矩阵A 的全部(准确解)特征值和特征向量, 输入 OutputForm[Eigensystem[A]] 则输出所求结果(6) 计算同时矩阵A 的零空间, 输入NullSpace[A]则输出{{1,-2,1}}(7) 调入程序包<<LinearAlgebra`Orthogonalization`后,还可以做以下的运算:GramSchmidt[ ]:用Gram-Schmidt 过程将向量组单位正交化; Normalize[ ]:将向量组单位化;Projection[vect1,vect2]:求从向量组vect1到vect2的正交映射.输入<<LinearAlgebra ’Orthogonalization ’ GramSchmidt[Eigenvectors[N[A]]]//MatrixForm则输出0.4303620.5665420.7027220.805060.111190.5826790.4082480.8164970.408248例1.3 求方阵⎪⎪⎪⎭⎫ ⎝⎛=633312321M 的特征值和特征向量.输入Clear[M];M={{1,2,3,},{2,1,3}{3,3,6}}; Eigenvalues[M] Eigenvectors[M] Eigensystem[M]则分别输出{-1,0,9}{{-1,1,0},{-1,-1,1}{1,1,2}}{{-1,0,9},{{-1,1,0},{-1,-1,1}{1,1,2}}}例1.4 (教材 例1.2) 求矩阵⎪⎪⎪⎭⎫⎝⎛---=2163/115/12/13/13/1A 的特征值和特征向量的近似值.输入A={{1/3,1/3,-1/2},{1/5,1,-1/3},{6,1,-2}}; Eigensystem[A]则屏幕输出的结果很复杂,原因是矩阵A 的特征值中有复数且其精确解太复杂.此时,可采用 近似形式输入矩阵A ,则输出结果也采用近似形式来表达.输入A={{1/3,1/3,-1/2},{1/5,1,-1/3},{6.0,1,-2}}; Eigensystem[A]则输出{{-0.748989+1.27186i,-0.748989-1.27186i,0.831311}, {{0.179905+0.192168i,0.116133+0.062477I,0.955675+0.i}, {0.179905-0.192168i,0.116133-0.062477i,0.955675+0.i}, {-0.0872248,-0.866789,-0.490987}}}从中可以看到A 有两个复特征值与一个实特征值.属于复特征值的特征向量也是复的;属于实 特征值的特征向量是实的.例1.5 (教材 例1.3) 已知2是方阵⎪⎪⎪⎭⎫ ⎝⎛=32131003t A 的特征值,求t .输入Clear[A,q];A={{2-3,0,0},{-1,2-t,-3},{-1,-2,2-3}}; q=Det[A] Solve[q==0,t]则输出{{t →8}}即当8=t 时,2是方阵A 的特征值.例1.6 (教材 例1.4) 已知)1,1,1(-=x 是方阵⎪⎪⎪⎭⎫⎝⎛---=2135212b a A 的一个特征向量,求参数b a ,及特征向量x 所属的特征值. 设所求特征值为t ,输入Clear[A,B,v,a,b,t];A={{t-2,1,-2},{-5,t-a,-3},{1,-b,t+2}}; v={1,1,-1}; B=A.v;Solve[{B[[1]]==0,B[[2]]==0,B[[3]]==0},{a,b,t}]则输出{{a →-3, b →0, t →-1}}即0,3=-=b a 时,向量)1,1,1(-=x 是方阵A 的属于特征值-1和特征向量.矩阵的相似变换例1.7 (教材 例1.5) 设矩阵⎪⎪⎪⎭⎫ ⎝⎛=222222114A ,求一可逆矩阵P ,使AP P 1-为对角矩阵.方法1 输入Clear[A,P];A={{4,1,1},{2,2,2},{2,2,2}}; Eigenvalues[A]P=Eigenvectors[A]//Transpose则输出{0,2,6}{{0,-1,1},{-1,1,1},{1,1,1}}即矩阵A 的特征值为0,2,6.特征向量为⎪⎪⎪⎭⎫ ⎝⎛-110,⎪⎪⎪⎭⎫ ⎝⎛-111与⎪⎪⎪⎭⎫ ⎝⎛111,矩阵⎪⎪⎪⎭⎫ ⎝⎛--=111111110P .可验证AP P 1-为对角阵, 事实上,输入 Inverse[P].A.P则输出{{0,0,0},{0,2,0},{0,0,6}}因此,矩阵A 在相似变换矩阵P 的作用下,可化作对角阵.方法2 直接使用JordanDecomposition 命令, 输入jor=JordanDecomposition[A]则输出{{{0,-1,1},{-1,1,1},{1,1,1}},{{0,0,0},{0,2,0},{0,0,6}}}可取出第一个矩阵S 和第二个矩阵Λ,事实上,输入jor[[1]] jor[[2]]则输出{{0,-1,1},{-1,1,1},{1,1,1}} {{0,0,0},{0,2,0},{0,0,6}}输出结果与方法1的得到的结果完全相同.例1.8 方阵⎪⎪⎭⎫⎝⎛=1201A 是否与对角阵相似?输入Clear[A]; A={{1,0},{2,1}}; Eigensystem[A]输出为{{1,1},{{0,1}{0,0}}}于是,1是二重特征值,但是只有向量{0,1}是特征向量,因此,矩阵A 不与对角阵相似.例1.9 (教材 例1.6) 已知方阵⎪⎪⎪⎭⎫ ⎝⎛-=11322002x A 与⎪⎪⎪⎭⎫⎝⎛-=y B 00020001相似, 求y x ,.注意矩阵B 是对角矩阵,特征值是y ,2,1-.又矩阵A 是分块下三角矩阵,-2是矩阵A 的特 征值.矩阵A 与B 相似,则2-=y ,且-1,2也是矩阵A 的特征值.输入Clear[c,v];v={{4,0,0},{-2,2-x,-2},{-3,-1,1}}; Solve[Det[v]==0,x]则输出{{x →0}}所以,在题设条件,0=x ,2-=y .例1.10 对实对称矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛=2000001101010110A ,求一个正交阵P ,使AP P 1-为对角阵. 输入<<LinearAlgebra\Orthogonalization Clear[A,P]A={{0,1,1,0 },{1,0,1,0},{1,1,0,0},{0,0,0,2}}; Eigenvalues[A] Eigenvectors[A]输出的特征值与特征向量为{-1,-1,2,2}{{-1,0,1,0},{-1,1,0,0},{0,0,0,1},{1,1,1,0}}再输入P=GramSchmidt[Eigenvectors[A]]//Transpose输出为已经正交化和单位化的特征向量并且经转置后的矩阵P{}}{0,1,0,0,31,0,61,21,31,0,32,0,31,0,61,21⎪⎭⎪⎬⎫-⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫⎪⎭⎪⎬⎫-⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧-为了验证P 是正交阵,以及AP P AP p T=-1是对角阵,输入Transpose[P].PInverse[P].A.P//Simplify Transpose[P].A.P//simplify则输出{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}} {{-1,0,0,0},{0,-1,0,0},{0,0,2,0},{0,0,0,2}} {{-1,0,0,0},{0,-1,0,0},{0,0,2,0},{0,0,0,2}}第一个结果说明E P P T =,因此P 是正交阵;第二个与第三个结果说明⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--==-22111AP P AP P T例1.11 求一个正交变换,化二次型243231212222x x x x x x x f +++=为标准型.二次型的矩阵为⎪⎪⎪⎪⎪⎭⎫⎝⎛=2000001101010110A这恰好是例1.10的矩阵, 因此,用例1.10中的正交矩阵P ,作正交变换PY X =,即⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛43214321010031061213103203106121y y y y x x x x将f 化作标准型.输入f=T able[x[j],{j,4}].A.Table[x[j],{j,4}]//Simplify则输出2(x[2]x[3]+x[1](x[2]+x[3])+x[4]2)这是原来的二次型f .把上式中的x[1],x[2],x[3],x[4]用y[1],y[2],y[3],y[4]表示,输入代换命令f/.T able[x[j]→(P .T able[y[j],{j,4}])[[j]],{j,4}]// Simplify则输出-y[1]2-y[2]2 +2(y[3]2 +y[4]2)这就是二次型f 的标准型.例1.12 (教材 例1.7) 已知二次型3231212322213212422),,(x x x x x x x x x x x x f +-++-=(1)求标准形; (2)求正惯性指数; (3)判断二次型是否正定. 输入A={{1,1,-2},{1,-2,1},{-2,1,1}}Eigenvalues[A]则输出矩阵A 的特征值为{-3,0,3}所以二次型的标准形为222133y y f +=;正惯性指数为1;该二次型不是正定的. 例1.13 (教材 例1.8) 求正交变换将二次型43324121242322213212222),,(x x x x x x x x x x x x x x x f -+-++++=化为标准形.输入A={{1,1,0,-1},{1,1,1,0},{0,1,1,-1},{-1,0,-1,1}} MatrixForm[A] X={x1,x2,x3,x4}; Expand[X.A.X]<<LinearAlgebra\Orthogonalization.m P=GramSchmidt[Eigenvectors[A]] P .A.Inverse[P]//MatrixForm则输出所求的正交变换矩阵P 与二次型矩阵A 标准形. 从结果知, 所求二次型的标准型为24232221y y y y g +++-=实验2 层次分析法实验目的通过应用层次分析法解决一个实际问题,学习层次分析法的基本原理与方法;掌握用层次 分析法建立数学模型的基本步骤;学会用Mathematica 解决层次分析法中的数学问题.基本原理层次分析法是系统分析的重要工具之一,其基本思想是把问题层次化、数量化, 并用数学 方法为分析、决策、预报或控制提供定量依据. 它特别适用于难以完全量化, 又相互关联、 相互制约的众多因素构成的复杂问题. 它把人的思维过程层次化、数量化,是系统分析的一中 新型的数学方法.运用层次分析法建立数学模型, 一般可按如下四个基本步骤进行.1.建立层次结构首先对所面临的问题要掌握足够的信息, 搞清楚问题的范围、因素、各因素之间的相互 关系,及所要解决问题的目标. 把问题条理化、层次化, 构造出一个有层次的结构模型. 在这 个模型下,复杂问题被分解为元素的组成部分. 这些元素又按其属性及关系形成若干层次.层 次结构一般分三层:第一层为最高层, 它是分析问题的预定目标和结果, 也称目标层;第二层为中间层, 它是为了实现目标所涉及的中间环节, 如: 准则、子准则, 也称准则 层;第三层为最底层, 它包括了为实现目标可供选择的各种措施、决策方案等, 也称方案层.图2-1决策目标准则1准则2准则n方案1方案2方案m…………注:上述层次结构具有以下特点:(1) 从上到下顺序地存在支配关系, 并用直线段表示;(2) 整个层次结构中层次数不受限制.2.构造判断矩阵构造判断矩阵是建立层次分析模型的关键. 假定以上一层的某元素y 为准则,它所支配 的下一层次的元素为n x x x ,,,21 ,这n 个元素对上一层次的元素y 有影响,要确定它们在y 中的比重. 采用成对比较法. 即每次取两个元素i x 和j x , 用ij a 表示i x 与j x 对y 的影响之比, 全部比较的结果可用矩阵A 表示,即.,,2,1,,)(n j i a A n n ij ==⨯ 称矩阵A 为判断矩阵.根据上述定义,易见判断矩阵的元素ij a 满足下列性质:)(,1),(1j i a j i a a ii ijji ==≠=当0>ij a 时,我们称判断矩阵A 为正互反矩阵.怎样确定判断矩阵A 的元素ij a 的取值呢? 当某层的元素n x x x ,,,21 对于上一层某元素y 的影响可直接定量表示时, i x 与j x 对y的影响之比可以直接确定, ij a 的值也可直接确定. 但对于大多数社会经济问题, 特别是比较 复杂的问题, 元素i x 与j x 对y 的重要性不容易直接获得, 需要通过适当的量化方法来解决. 通常取数字1~9及其倒数作为ij a 的取值范围. 这是因为在进行定性的成对比较时, 通常采用5级制(表1),在每两个等级之间各有一个中间状态, 共1~9个尺度, 另外心理学家认为进行成对比较的因素太多, 将超出人们的判断比较能力, 降低精确. 实践证明, 成对比较的尺度以27±为宜, 故ij a 的取值范围是9,,2,1 及其倒数.表1 比较尺度ij a 的取值97531/ijj i a x x 绝对强很强强较强相等3.计算层次单排序权重并做一致性检验层次单排序是指同一层次各个元素对于上一层次中的某个元素的相对重要性进行排序. 具体做法是: 根据同一层n 个元素n x x x ,,,21 对上一层某元素y 的判断矩阵A ,求出它们对 于元素y 的相对排序权重,记为n w w w ,,,21 ,写成向量形式T n w w w w ),,,(21 =, 称其为A 的层次单排序权重向量, 其中i w 表示第i 个元素对上一层中某元素y 所占的比重, 从而得到层次单排序.层次单排序权重向量有几种求解方法,常用的方法是利用判断矩阵A 的特征值与特征向 量来计算排序权重向量w .关于正互反矩阵A ,我们不加证明地给出下列结果. (1) 如果一个正互反矩阵n n ij a A ⨯=)(满足),,2,1,,(n k j i a a a ik jk ij ==⨯则称矩阵A 具有一致性, 称元素k j i x x x ,,的成对比较是一致的; 并且称A 为一致矩阵.(2) n 阶正互反矩阵A 的最大特征根n ≥max λ, 当n =λ时, A 是一致的. (3) n 阶正互反矩阵是一致矩阵的充分必要条件是最大特征值 n =max λ.计算排序权重向量的方法和步骤设T n w ),,,(21ωωω =是n 阶判断矩阵的排序权重向量, 当A 为一致矩阵时, 根据n阶判断矩阵构成的定义,有⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=n n n n nn A ωωωωωωωωωωωωωωωωωω212221212111 (2.1) 因而满足,nw Aw = 这里n 是矩阵A 的最大特征根, w 是相应的特征向量; 当A 为一般的 判断矩阵时w Aw max λ=, 其中max λ是A 的最大特征值(也称主特征根), w 是相应的特征向 量(也称主特征向量). 经归一化(即11=∑=ni iω)后, 可近似作为排序权重向量, 这种方法称为特征根法.一致性检验在构造判断矩阵时, 我们并没有要求判断矩阵具有一致性, 这是由客观事物的复杂性与人的认识的多样性所决定的. 特别是在规模大、因素多的情况下, 对于判断矩阵的每个元 素来说,不可能求出精确的j i ωω/, 但要求判断矩阵大体上应该是一致的. 一个经不起推敲 的判断矩阵有可能导致决策的失误. 利用上述方法计算排序权重向量, 当判断矩阵过于偏离 一致性时, 其可靠性也有问题. 因此,需要对判断矩阵的一致性进行检验, 检验可按如下步骤 进行: (1) 计算一致性指标CI1max --=n nCI λ (2.2)当,0=CI 即n =max λ时, 判断矩阵A 是一致的. 当CI 的值越大, 判断矩阵A 的不一致的程 度就越严重. (2) 查找相应的平均随机一致性指标RI表2给出了n )11~1(阶正互反矩阵的平均随机一致性指标RI , 其中数据采用了 100~150个随机样本矩阵A 计算得到.(3) 计算一致性比例CRRICICR =(2.3)当10.0<CR 时, 认为判断矩阵的一致性是可以接受的; 否则应对判断矩阵作适当修正.4. 计算层次总排序权重并做一致性检验计算出某层元素对其上一层中某元素的排序权重向量后, 还需要得到各层元素, 特别 是最底层中各方案对于目标层的排序权重, 即层次总排序权重向量, 再进行方案选择. 层次 总排序权重通过自上而下地将层次单排序的权重进行合成而得到. 考虑3个层次的决策问题: 第一层只有1个元素, 第二层有n 个元素, 第三层有m 个元 素.设第二层对第一层的层次单排序的权重向量为 Tn w ),,,()2()2(2)2(1)2(ωωω = 第三层对第二层的层次单排序的权重向量为n k w w w w Tkn k k k ,,2,1,),,,()3()3(2)3(1)3( ==以)3(k w 为列向量构成矩阵:n m nm m mn n n w w w w w w w w w w w w W ⨯⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==)3()3(2)3(1)3(2)3(22)3(12)3(1)3(21)3(11)3()3(2)3(1)3(,,,,,,,,,,,),,,( (2.4)则第三层对第一层的层次总排序权重向量为)2()3()3(w W w =(2.5) 一般地, 若层次模型共有s 层, 则第k 层对第一层的总排序权重向量为s k w W w k k k ,,4,3,)1()()( ==-(2.6)其中)(k W 是以第k 层对第1-k 层的排序权向量为列向量组成的矩阵,)1(-k w 是第1-k 层对第 一层的总排序权重向量. 按照上述递推公式, 可得到最下层(第s 层)对第一层的总排序权重 向量为)2()3()1()()(w W W W w s s s -=(2.7)对层次总排序权重向量也要进行一致性检验. 具体方法是从最高层到最低层逐层进行 检验.如果所考虑的层次分析模型共有s 层. 设第l (s l ≤≤3)层的一致性指标与随机一致性 指标分别为)()(2)(1,,,l n l l CI CI CI (n 是第1-l 层元素的数目)与)()(2)(1,,,l nl l RI RI RI , 令)1()(1)(1)(],,[-=l l l l w CI CI CI(2.8) )1()(1)(1)(],,[-=l l l l w RI RI RI(2.9)则第l 层对第一层的总排序权向量的一致性比率为s l RICI CRCRl l l l ,,4,3,)()()1()( =+=- (2.10)其中)2(CR 为由(2.3)式计算的第二层对第一层的排序权重向量的一致性比率.当最下层对第一层的总排序权重向量的一致性比率1.0)(<s CR 时, 就认为整个层次结构 的比较判断可通过一致性检验.应用举例问题 在选购电脑时, 人们希望花最少的钱买到最理想的电脑. 试通过层次分析法建立 数学模型,并以此确定欲选购的电脑.1. 建立选购电脑的层次结构模型选择的目标性能价格质量外观售后服务品牌1品牌2品牌3目标层准则层方案层图2-2该层次结构模型共有三层:目标层(用符号z 表示最终的选择目标); 准则层(分别用符号 521,,,y y y 表示“性能”、“价格”、“质量”、“外观”、“售后服务”五个判断准则); 方案层(分别用符号321,,x x x 表示品牌1, 品牌2, 品牌3三种选择方案).2.构造成对比较判断矩阵(1) 建立准则层对目标层的成对比较判断矩阵根据表1的定量化尺度, 从建模者的个人观点出发, 设准则层对目标层的成对比较判断矩阵为⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=13123/13/113/12/19/113123/12/122/115/139351A (2.11)(2) 建立方案层对准则层的成对比较判断矩阵,113/1113/1331,123/12/115/13511252/1135/13/11,12/15/1213/1531,1252/1135/13/1154321⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=B B B B B3.计算层次单排序权重向量并做一致性检验先利用Mathematica 计算矩阵A 的最大特征值及特征值所对应的特征向量. 输入<<Miscellaneous\RealOnly.m (*调用只求实数运算的软件包*)A={{1.0,5,3,9,3},{1/5,1,1/2,2,1/2},{1/3,2,1,3,1},{1/9,1/2,1/3,1,1/3},{1/3,2,1,3,1}};(*以小数形式1.0输入进行近似计算, 可避免精确解太长、太复杂*) T=Eigensystem[A]//Chop(*输入//Chop, 把与零非常接近的数换成零*)则输出{{5.00974,Nonreal,Nonreal,0,0},{{0.88126,0.167913,0.304926,0.0960557,0.304926}, {0.742882,Nonreal,Nonreal,Nonreal,Nonreal}, {0.742882,Nonreal,Nonreal,Nonreal,Nonreal}, {-0.993398,0,0.0673976,0.0662265,0.0650555}, {-0.65676,0,0.57431,0.043784,-0.486742}}} (输出中的Nonreal 表示复数)从中得到A 的最大特征值,00974.5max =λ及其对应的特征向量T x )304926.0,0960557.0,304926.0,167913.0,88126.0(=输入Clear[x]; x=T[[2,1]];ww2=x/Apply[Plus,x]则得到归一化后的特征向量T w )173739.0,0547301.0,173739.0,0956728.0,502119.0()2(=计算一致性指标1max --=n nCI λ,其中,00974.5,5max ==λn 故.002435.0=CI查表得到相应的随机一致性指标 12.1=RI 从而得到一致性比率002174.0)2(==RICICR 因,1.0)2(<CR 通过了一致性检验,即认为A 的一致性程度在容许的范围之内, 可以用归一 化后的特征向量)2(w 作为排序权重向量. 下面再求矩阵)5,,2,1( =j B j 的最大特征值及特征值所对应的特征向量, 输入B1=B3={{1.0,1/3,1/5},{3,1,1/2},{5,2,1}}; B2=Transpose[B1];B4={{1.0,5,3},{1/5,1,1/2},{1/3,2,1}}; B5={{1.0,3,3},{1/3,1,1},{1/3,1,1}}; T1=Eigensystem[B1]//ChopT2=Eigensystem[B2]//Chop T3=Eigensystem[B3]//Chop T4=Eigensystem[B4]//Chop T5=Eigensystem[B5]//Chop则输出 {{3.00369,Nonreal, Nonreal}, {{0.163954,0.46286,0.871137},{ Nonreal, Nonreal,0.871137}, { Nonreal, Nonreal, 0.871137}}};{{3.00369,Nonreal, Nonreal}, {{0.928119,0.328758,0.174679}, {0.928119, Nonreal, Nonreal}, {0.928119, Nonreal, Nonreal}}}{{3.00369, Nonreal, Nonreal}, {{0.163954,0.46286,0.871137}, { Nonreal, Nonreal,0.871137}, { Nonreal, Nonreal,0.871137}}}{{3.00369, Nonreal, Nonreal}, {{0.928119,0.174679,0.328758}, {0.928119, Nonreal, Nonreal}, {0.928119, Nonreal, Nonreal}}} {{3,0,0},{{0.904534,0.301511,0.301511}, {-0.973329,0.162221,0.162221}, {-0.170182,-0.667851,0.724578}}从上面的输出可以分别得到)5,,2,1( =j B j 的最大特征值000.3,00369.3,00369.3,00369.3,00369.354321=====λλλλλ以及上述特征值所对应的特征向量TT T TT x x x x x )301511.0,301511.0,904534.0()328758.0,174679.0,928119.0()871137.0,46286.0,163954.0()174679.0,328758.0,928119.0()871137.0,46286.0,163954.0(54321=====其中.5,,2,1),,,(321 ==i x x x x i i i i 为求出归一化后的特征向量, 输入Clear[x1,x2,x3,x4,x5]; x1=T1[[2,1]];w1=x1/Apply[Plus,x1] x2=T2[[2,1]];w2=x2/Apply[Plus,x2] x3=T3[[2,1]];w3=x3/Apply[Plus,x3] x4=T4[[2,1]];w4=x4/Apply[Plus,x4] x5=T5[[2,1]];w5=x5/Apply[Plus,x5]则输出TT T TT w w w w w )200000.0,200000.0,600000.0()229651.0,12202.0,648329.0()581552.0,308996.0,109452.0()12202.0,229651.0,648329.0()581552.0,308996.0,109452.0(54321===== 计算一致性指标)5,,2,1(1=--=i n nCI i i λ,其中,3=n 输入lamda={T1[[1,1]],T2[[1,1]],T3[[1,1]],T4[[1,1]],T5[[1,1]]} CI=(lamda-3)/(3-1)//Chop则输出0,0018473.0,0018473.0,0018473.0,0018473.054321=====CI CI CI CI CI查表得到相应的随机一致性指标)5,,2,1(58.0 ==i RI i计算一致性比率5,,2,1, ==i RI CI CR iii ,输入CR=CI/0.58则输出.0,003185.0,003185.0,003185.0,003185.054321=====CR CR CR CR CR因),5,,2,1(,1.0 =<i CR i 通过了一致性检验. 即认为)5,,2,1( =j B j 的一致性程度在容许 的范围之内, 可以用归一化后的特征向量作为其排序权重向量.4. 计算层次总排序权重向量并做一致性检验购买个人电脑问题的第三层对第二层的排序权重计算结果列于表3.以矩阵表示第三层对第二层的排序权重计算结果为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=2.0229651.0581552.012202.0581552.02.012202.0308996.0229651.0308996.06.0648329.0109452.0648329.0109452.0)3(W )3(W 即是第三层对第二层的权重向量为列向量组成的矩阵. 最下层(第三层)对最上层(第一层)的总排序权向量为)2()3()3(w W w =为了计算上式, 输入W3=Transpose[{w1,w2,w3,w4,w5}]; ww3=W3.ww2则从输出结果得到T w )452037.0,272235.0,275728.0()3(=为了对总排序权向量进行一致性检验, 计算)2(521)3().,,.,.(w I C I C I C CI =输入CI.ww2则从输出结果得到00152635.0)3(=CI 再计算)2(51)3(],,[w RI RI RI =,输入RI=T able[0.58,{j,5}]; RI.ww2则从输出结果得到 58.0.)3(=I R 最后计算 )3()3()2()3(./...I R I C R C R C +=,可得00480575.0.)3(=R C因为,1.0.)3(<R C 所以总排序权重向量符合一致性要求的范围.根据总排序权重向量的分量取值, 品牌3的电脑是建模者对这三种品牌机的首选. 实验报告1.根据你的设想购置一台计算机, 需考虑什么样的判断准则? 利用层次分析法及数学 软件做出最佳的决策.2.根据你的经历设想如何报考大学, 需要什么样的判断准则? 利用层次分析法及数学 软件做出最佳的决策.3.假期到了, 某学生打算做一次旅游, 有四个地点可供选择, 假定他要考虑5个因素: 费用、景色、居住条件、饮食以及旅游条件. 由于该学生没有固定收入, 他对费用最为看重, 其次是旅游点的景色, 至于旅游条件、饮食, 差不多就行, 住什么地方就更无所谓了. 这四个旅游点没有一个具有明显的优势, 而是各有优劣. 该同学拿不定主意, 请用层次分析法帮助他找出最佳旅游点.4. 假设你马上就要从大学毕业, 正面临择业的问题, 你对工作的选择着重考虑下面几个因素: (1)单位的声誉; (2)收入; (3)专业是否对口; (4)是否有机会深造或晋升; (5)工作地点; (6)休闲时间. 对上述各种因素你可以根据自己的具体情况排序,也可以增加或减少所考虑的因素. 现在有四个单位打算你, 但如果用上述标准来衡量,没有一个单位具有明显的优势,请用层次分析法为你自己做一个合理的选择.。
幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量

数值计算解矩阵的按模最大最小特征值及对应的特征向量—一 .幂法1. 幕法简介:当矩阵A 满足一定条件时,在工程中可用幕法计算其主特征值 (按模最大) 及其特征向量。
矩阵A 需要满足的条件为:⑴I 1 I I 2|n |- 0, i 为A 的特征值(2)存在n 个线性无关的特征向量,设为 X i ,X 2,…,X n 1.1计算过程:n对任意向量x (0),有x (0)八:-M —不全为0,则有i 4X (k 岀)=Ax (k)== A k 岀乂。
)nn A k 1aq a 扌15i =1i =1■k 12 可见,当1—1越小时,收敛越快;且当k 充分大时,有 ?"12算法实现⑶.计算x Ay,… max(x);⑷若| •一十:;,输出-,y,否则,转(5)(5)若N ,置k 「k 1^-,转3,否则输出失败信息,停机.3 matlab 程序代码(冲1%叫x(k 1)[x(k)k二ux(k)>(k+1)1,对应的特征向量即是x(1).输入矩阵A ,初始向量X ,误差限 最大迭代次数N(k)0; y(k)max(abs(x (k))k=1;z=0;y=x0./max(abs(x0)); x=A*y; % z相当于■%规范化初始向量%迭代格式b=max(x); % b相当于:if abs(z-b)<epst=max(x);return;%判断第一次迭代后是否满足要求endwhile abs(z-b)>eps && k<N k=k+1;z=b;y=x./max(abs(x));x=A*y;b=max(x);end[m,i ndex]=max(abs(x)); %这两步保证取出来的按模最大特征值t=x(i ndex); end%是原值,而非其绝对值。
4举例验证选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。
层次分析法判断矩阵求权值以及一致性检验程序

层次分析法判断矩阵求权值以及一致性检验程序Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998function [w,CR]=mycom(A,m,RI)[x,lumda]=eig(A);r=abs(sum(lumda));n=find(r==max(r));max_lumda_A=lumda(n,n);max_x_A=x(:,n);w=A/sum(A);CR=(max_lumda_A-m)/(m-1)/RI;end本matlab程序用于层次分析法中计算判断矩阵给出的权值已经进行一致性检验。
其中A为判断矩阵,不同的标度和评定A将不同。
m为A的维数RI为判断矩阵的平均随机一致性指标:根据m的不同值不同。
下面是层次分析法的简介,以及判断矩阵构造方法。
一.层次分析法的含义层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家问题上的实用性和有效性,很快在世界范围得到重视。
它的应用已遍及经济和、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。
二.层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。
(1)层次分析法的原理层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。
这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。
层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。
其用法是构造判断矩阵,求出其最大特征值。
层次分析法判断矩阵求权值以及一致性检验程序

function [w,CR]=mycom(A,m,RI)[x,lumda]=eig(A);r=abs(sum(lumda));n=find(r==max(r));max_lumda_A=lumda(n,n);max_x_A=x(:,n);w=A/sum(A);CR=(max_lumda_A-m)/(m-1)/RI;end本matlab程序用于层次分析法中计算判断矩阵给出的权值已经进行一致性检验。
其中A为判断矩阵,不同的标度和评定A将不同。
m为A的维数RI为判断矩阵的平均随机一致性指标:根据m的不同值不同。
当CR<0.1时符合一致性检验,判断矩阵构造合理。
下面是层次分析法的简介,以及判断矩阵构造方法。
一.层次分析法的含义层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。
它是一种定性和定量相结合的、系统化、层次化的分析方法。
由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。
它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。
二.层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。
(1)层次分析法的原理层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。
这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。
层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。
最全 Matlab操作 函数指令

一、常用对象操作:除了一般windows窗口的常用功能键外。
1、!dir 可以查看当前工作目录的文件。
!dir& 可以在dos状态下查看。
2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。
3、功能键:功能键快捷键说明方向左键 Ctrl+B 光标向后移一个字符方向右键 Ctrl+F 光标向前移一个字符Ctrl+方向右键 Ctrl+R 光标向右移一个字符Ctrl+方向左键 Ctrl+L 光标向左移一个字符home Ctrl+A 光标移到行首End Ctrl+E 光标移到行尾Esc Ctrl+U 清除一行Del Ctrl+D 清除光标所在的字符Backspace Ctrl+H 删除光标前一个字符Ctrl+K 删除到行尾Ctrl+C 中断正在执行的命令4、clc可以命令窗口显示的内容,但并不清除工作空间。
二、函数及运算1、运算符:+:加,-:减, *:乘, /:除,\:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。
2、常用函数表:sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数cosd( ) 余弦(变量为度数)log( ) 对数acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根tand( ) 正切(变量为度数)abs( ) 取绝对值atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和3、其余函数可以用help elfun和help specfun命令获得。
使用Matlab程序实现层次分析法(AHP)的简捷算法

使用Matlab程序实现层次分析法(AHP)的简捷算法作者:于晶来源:《科技风》2016年第16期摘要:层次分析法简便易懂,可操作性和实用性强,但是构造判断矩阵往往不容易,计算判断矩阵的特征值特别繁琐且易出错,得到的一致性检验不易调整,这些都给使用层次分析法带来困难,以往使用办公软件电子表格(Excel)的方法计算单层次排序和总层次排序,这种方法使得计算和一致性检验变得容易,文本使用Matlab程序使得计算变得更容易,也使得层次分析法在多个领域得到推广和应用。
关键词:层次分析法;Excel;matlab1 层次分析法(AHP法)的原理和解决思路层次分析法是对定性问题进行定量分析的一种简便、灵活而又实用的多准则决策方法。
它的原理是模拟人的决策过程,具有思路清晰、方法简便、适用面广、系统性强等特点。
是解决多目标、多准则、多层次复杂问题决策或者大型工程风险分析的有力工具。
层次分析法解决问题的思路就是用下一次因素的相对排序求得上一次因素的相对排序。
按照因素之间的相互影响和隶属关系将各层次因素聚类组合,形成一个递进有序的层次结构模型。
2 层次分析法的应用难点2.1合适的判断矩阵构造不易模型确定后,按照模型层次结构和模型的各因素的相对重要性,综合专家群体咨询意见,采用标度法[ 1 ],从数字1/9一9中选取恰当值,构造各层的判断矩阵,并使之尽量符合一致性检验,这一步成为问题的关键。
但实际上系统越复杂,判定矩阵的阶数就会越高,计算就会越困难。
2.2计算量大,步骤繁琐层次分析法首先要求的就是判断矩阵的最大特征值?姿max,及其正规化的特征向量w,向量w的分量wi是相应因素的单层次权值,这部分计算理论上基于线性代数知识,不用计算机也可以将其计算出来。
但实际上,当矩阵的阶数高于4阶时,人工计算就变得相当困难且易出错,如使用计算机计算,就容易得多,常用的方法有Basic语言,电子表格Excel等方法。
但计算量都有待改进。
第10章MATLAB特征值与特征向量的计算实例解析

• A=[9 2 1 2 2;2 4 3 3 3;1 3 7 3 4;2 3 3 5 4;2 3 4 4 5];
• chol_test(A)
• B运=[行16结17果9:12 12;17 12 12 2 18;9 12 18 7 13;12 2 7 18 12;12 18 13 12 10];
• chCo=l_test(B)
k1 k2
m1
k2 m2
0
0
k2 m1 k2 k3 m2 k3 m3
0
0
k3 m2 k3 k4 m3 k4 m4
0
0
f1
f1
f2
2
f2
k4 m3
f3 f4
f3
f4
k4
m4
• 即2为上述系数矩阵的特征值。
• 若给定如下条件则可以编写程序example_10_10.m。
运行结果: x_nlimit =
即当n 时,
an
a0
1 2
b0 , bn
0, cn
c0
1 2
b0
a0 + b0/2
0
后代仅具有基因AA和aa。
b0/2 + c0
二、常染色体隐性病模型
1
M
=
0
1/ 2 1/ 2
最终隐性患者消失, 全部均为显性患者。
三、X—链遗传模型
X—链遗传是指雄性具有一个基因A或a,雌性具有两个基因AA或Aa或aa。其遗 传规律是雄性后代以相等概率得到母体两个基因中的一个,雌性后代从父体中 得到一个基因,并从母体的两个基因中等可能地得到一个。
2 4 6
【例10-1】给定矩阵
A
3
9
matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

竭诚为您提供优质文档/双击可除matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量篇一:幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1.幂法简介:当矩阵a满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。
矩阵a需要满足的条件为:(1)|1||2|...|n|0,i为a的特征值xn(2)存在n个线性无关的特征向量,设为x1,x2,...,1.1计算过程:n对任意向量x,有x(0)(0)iui,i不全为0,则有i1x(k1)ax(k)...ak1x(0)aαiuiαiλik1uik1i1i1nnnk12k1λ1u1()a2u2()anun11k111u1k112|越小时,收敛越快;且当k充分大时,有可见,当|1 (k1)k111u1x(k1)x(k1)(k)x1(k),对应的特征向量即是。
kxx11u12算法实现(1).输入矩阵a,初始向量x,误差限,最大迭代次数n(2).k1,0;y(k)x(k)max(abs(x(k))(3).计算xay,max(x);(4).若||,输出,y,否则,转(5)(5).若kn,置kk1,,转3,否则输出失败信息,停机.3matlab程序代码function[t,y]=lpowera,x0,eps,n)%t为所求特征值,y 是对应特征向量k=1;z=0;%z相当于y=x0./max(abs(x0));%规范化初始向量x=a*y;%迭代格式b=max(x);%b相当于ifabs(z-b) t=max(x);return;endwhileabs(z-b)>epsz=b;y=x./max(abs(x));x=a*y;b=max(x);end[m,index]=max(a(matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量)bs(x));%这两步保证取出来的按模最大特征值t=x(index);%是原值,而非其绝对值。