加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【转载】EXCEL在矩阵相关计算中的应用

(2012-11-29 22:26:39)
标签:

矩阵计算

行列式的值

规划求解

杂谈

分类: Excel

 

 


 



  摘要:Excel不但具有强大的数据分析和处理功能,而且具有丰富的函数,在数学计算中发挥着不容忽视的作用。本文主要介绍Excel在进行计算行列式值、矩阵的转置、矩阵的逆、矩阵的秩、两矩阵的乘积、矩阵的特征向量和特征值以及矩阵在进行解线性方程组时的应用。
  关键词:Excel矩阵;函数;矩阵秩;矩阵逆
  中图分类号:TP39113
  文献标识码:A
  文章编号:1009-3044(2007)01-10012-02
  
  1 引言
  
  Microsoft ottlce是常用的办公软件,给我们的工作、学习等方面带来了很大的方便。特别是文字处理软件-WORD和和数据处理软件EXCEL更是我们日常办公所离不开的两个重要工具。而EXCEL作为著名的电子表格软件,它所起到的作用远远不是人们所看到制作电子表格和使用一些简单的函数,它仍有很多强大的功能没有被发掘出来并利用。本文就在矩阵相关计算中如何利用EXCEL的方法作出详细的介绍。
  
  2 nxn方阵对应行列式的值
  
  第二步,选中A4单元格,在“插入”菜单中选中“函数”菜单项:
  第三步,在打开的“函数”对话框中,选中“MDETERM”函数如图2,并按“确定”按钮:
  
  第四步,在弹出的对话框中输入矩阵所在的地址,按确定即得到行列式的值。
  
  3 矩阵求和
  
  已知
  第二步,在A5单元格中输入公式:=A1+El,按回车,这时A5中显示数字7
  第三步,选中A5单元格,移动鼠标至其右下角,鼠标形状变为黑色十字时,按下鼠标左键往右拖至C5B5C5中分别显示一33。同样的方法选中A5C5,往下拖至A7C7,便得到A+B的值。
  
  4 矩阵求逆
  
  第一步,在A1C3中输入矩阵A
  第二步。选中A5C7,“插入”→“函数”→“MINVERSE”→“确定”:
  第三步,在“array”项中输入A1C3,按F2,同时按CTRL+SHIFF+ENTER即可如图6
  
  5 矩阵转置
  
  第一步,在AlC3中输入矩阵A,并选中;
  第二步,“编辑”→“复制”;
  第三步,选中A5,“编辑”→“选择性粘贴”→“转置”→确定”。
  
  6 矩阵求秩
  
  61矩阵秩的概念
  定义设Amxn矩阵,从A中任取kk(kmin(mn)),由这些行、列相交处的元素按原来的次序所构成的阶行列式,称为矩阵A的一个k阶子行列式,简称k阶子式。
  定义矩阵A的所有不为零的子式的最高阶数r称为矩阵A的秩,记作r(A),即r(A)=r
  
  62矩阵秩的数学求法
  621行列式法:即定义从矩阵的最高阶子式算起,计算出不等于零的子式的最高阶数r,此r即为该矩阵的秩。
  622行初等变换法:用初等行变换化矩阵为阶梯形矩阵,此阶梯形矩阵非零行的行数r就是该矩阵的秩。
  63利用EXCEL求矩阵秩
  方法一,根据矩阵秩的定义,可以求所有不为零子式的最高阶数。
  求矩阵A的秩.
  显然A4x4矩阵,4为其所有子式的最高阶数。先求IAI的值,若|A|不为零,则矩阵A的秩为4。若|A|为零,求所有阶数为3的子式的值。若存在阶数为3的子式的值不为零,则矩阵A的秩为3,否则继续求所有阶数为2的子式的值,依次类推。步骤如下:
  第一步,按照上面所介绍利用EXCEL求矩阵行列式的方法求|A|的值
  IAI=0.则说明该矩阵的秩小于4
  第二步,取第二、三、四行,第一、二、四列,位于这些行、列相交处的元素所构成的三阶行列式
  
  方法二,从解方程组的角度去求矩阵的秩
  若A是满秩的,则齐次方程组AX0只有零解,否则就有非零解。从这一思想出发可以得出另外一种求矩阵秩的方法。在讲这个方法之前。我们先介绍用EXCEL去解方程组。
  
  然后利用EXCEL提供的“规划求解”功能,求得的结果就是线性方程组的解。
  下面是就如何在“规划求解”过程中得到矩阵A的秩给出具体的步骤。
  其步骤是:
  第一步,用“规划求解”工具解线性方程组A X=O,如果在“规划求解结果”中出现提示“[设置目标单元格]的值未收敛”,则表示A的秩<n,也即齐次方程组有非零解。则转入第二步。否则停止计算:
  第二步,在“规划求解结果”中选“恢复为原值”,然后在“规划求解参数”中增设约束之后再转第一步;
  
  第一步,以所给矩阵作为系数矩阵A,用刚才所说的方法求解齐次方程组A X=O,结果提示“[设置目标单元格]的值未收敛”。
  第二步,恢复为原值后,增设约束X4-1,再用方法2求解,结果提示仍然是“[设置目标单元格]的值未收敛”。
  第三步,再恢复为原值,再增设约束x3=1,用方法2求解,提示为“规划求解找到一解,可满足所有约束及最优状况”。
  则A的秩r(A)=2,此时X的存放区域中的数值011,-1就是使A的列向量的线性组合为0的组合系数.即线性代数教材中的λ1,λ2,λ3,λ4
  如果仅仅是检查一个n阶矩阵是否满秩,采用矩阵运算的求逆就要方便得多。
  
  7 矩阵乘积
  
  当矩阵很大并且乘积矩阵数目很多的时候,人工求其乘积工作量会很大,如果不细心很容易出错,所以找到一种利用计算机去计算矩阵乘积就显得非常必要。也有很多计算机爱好者用编程的方法去实现,也是不错的方法,但是编程也要一定的时间,我们不如直接利用EXCEL提供的函数直接去求来得快捷和方便。
  在EXCEL中有专门用于矩阵乘积的函数MMULIT(arraylarray2>),可以比较快速地得到两个矩阵的乘积矩阵。
  
  第一步,分别在A1C3区域和E1G3区域中输入AB如图7
  
  第二步,选中A5C7区域,“插入”→“函数”→“MMULT”;
  第三步,在arrayl中输入A1C3,在array2中输入E1G3
  第四步,按F2进入“编辑”状态,同时按下CTRL+SHIFT+ENTER即可得到AB如图7
  
  8矩阵特征向量和特征值
  
  设An阶矩阵,如果存在数入及非零的n维向量X,使得
  AX=λX (71)
  成立,就称入是矩阵A的特征值,X是矩阵A属于特征值λ的一个特征向量。
  如何求λ的值,由(71)可推出
  |A-λE=0 (72)
  从此可以求出λ的值。把得到的入代人到(71)中求得相应的
本文为全文原貌 
特征向量x
  下面我们通过一个具体的例子来说明特征值和特征向量的求解步骤。
  [5 -2 0]
  例: 求A的特征值和特征向量。
  81求特征值
  第一步,打开一个EXCEL工作表,将A输入到A1C3区域中:
  第二步,将A主对角线的单元格分别改为“==5-El”,“=3-E1”和“==1-El”,即以一个单元格引用E1代替入;
  第三步,在A5单元格中输入公式“=MDETERM(A1C3)”;
  第四步,在单元格E1中,由0开始,逐步加一个小常数,如0001.观察A5中返回值的符号变化情况,每改变一次符号,说明附近有一个使行列式为O的解。通过这步操作,得到3个近似值:041582294629
  第五步,用“单变量求解”工具搜索比较精确解,“工具”→“单变量求解”
  打开“单变量求解”对话框。在“目标单元格”中键入A5,在“目标值”中键人04158,在“可变单元格”中键入El,按“确定”,则E1中返回值为0415758,此为最靠近0的一个解。同理,分别将另外两个近似值分别输入到E1中,用“单变量求解”工具,求得全部3个更精确的近似解如下:041575822942796289944
  
  82求特征向量
  分别将三个特征值代入到(71)中,得到三个方程组,显然这三个系数矩阵所对应的行列式的值都近似为零。那么根据矩阵的性质,方程组一定有非零解。这就转化为解方程组,解方程组的方法虽然在前面已经说过,但那种方法更适合方程右边为非零向量的方程,所以在这里我们引用层次分析法(AHP)里所介绍的求近似特征向量来解所得到的三个方程组;
  对应λ1=0415758的方程组 
  (1)为归一化
  矩阵中的每个元素除以相应列的加和值 ,使矩阵的每一列归一化,即/ 。
  (2)各行平均
  计算机归一化矩阵中每一行的平均值 ,得到向量{wi}
  所以对应λ1的特征向量为[2194804 -152814 0333333]T
  同样的方法求得λ2和λ3所对应的特征向量分别为:
  [1568572 -09019 0333333]T[0236685 0429982 0333333]T
   [ 页 ]

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有