用Excel进行矩阵计算
武义二中-职称外语考试用书
用Excel进行矩阵计算
一、Excel的数组、数组名和矩阵函数的设置
1矩阵不是一个数,而是一个数组。在Ex
cel里,数组占用一片单元域,单元域用大括号表示,例如
{A1:C3},以便和普通单元域A1:
C3相区别。设置时先选定单元域,同时按Shift+Ctrl+Enter键,大括
弧即自动产生,
数组域得以确认。
2Excel的一个单元格就是一个变量,一片单元域也可以视为一组变量
。为了计算上的方便,一组变
量最好给一个数组名。例如A={A1:C3}、B={E1:G3}等。
数组名的设置步骤是:选定数组域,点“插入”
菜单下的“名称”,然后选择“定义”,输入数组名如A
或B等,单击“确定”即可。
3矩阵函数是Excel进行矩阵计算的专用模块。常用的矩阵
函数有MDETERM(计算一个矩阵的行列
式)、MINVERSE(计算一个矩阵的逆矩阵)、MM
ULT(计算两个矩阵的乘积)、SUMPRODUCT(计算所有矩阵
对应元素乘积之和)……函数可
以通过点击“=”号,然后用键盘输入,可以通过点击“插入”菜单下的“函数”,
或点击fx图标,然
后选择“粘贴函数”中相应的函数输入。
二、矩阵的基本计算
数组计算和矩阵计算有很大的区别,我们用具体例子说明。
已知A={3 -2 5,6 0
3,1 5 4},B={2 3 -1,4 1 0,5 2 -1},将这些数据输入Excel相应的单元
格,可设
置成图1的形状,并作好数组的命名,即第一个数组命名为A,第二个数组命名为B。计算时先
选定矩阵
计算结果的输出域,3×3的矩阵,输出仍是3×3个单元格,然后输入公式,公式前必须加上
=号,例如=A
+B、=A-B、=A*B等。A+B、A-B数组运算和矩阵运算没有区别,“=A*
B”是数组相乘计算公式,
而“=MMULT(A,B)”则是矩阵相乘计算公式,“=AB”是数组A
除数组B的计算公式,而矩阵相除是矩阵A
乘B的逆矩阵,所以计算公式是“=MMULT(A,MIN
VERSE(B))”。公式输入后,同时按Shift+Ctrl+Enter
键得到计算结果。图1
中的数组乘除写作A*B、AB,矩阵乘除写作A·B、A÷B,以示区别。
三、矩阵计算的应用
下面让我们来计算一个灰色预测模型。
灰色预测是华中理
工大学邓聚龙教授创立的理论,其中关键的计算公式是计算微分方程+B1x=B2的
解,{B1,B2
}=(XTX)-1(XTY),式中:XT是矩阵X的转置。
作为例子,已知X={-45.5 1,-79 1,-113.5 1,-149.5 1}
Y={33,34,35,37}
在Excel表格中,{B2:C5}输入X,{E2:H3
}输入X的转置。处理转置的方法是:选定原数组{B2:
C5},点“编辑”菜单的“复制”,再选定
数组转置区域{E2:H3},点“编辑”菜单的“选择性粘贴”,再点“转置”
即可。{J2:J5}
输入Y,然后选取{L2:L3}为B1、B2的输出区域,然后输入公式:
=MMULT(M
INVERSE(MMULT(E2:H3,B2:C5)),MMULT(E2:H3,J2:J5))
公式输入完毕,同时按Shift+Ctrl+Enter键,B1、B2的答案就出来了,如图2。
如果计算的矩阵更复杂一些,就必须分步计算。不过,使用Excel也是很方便的。 (江苏
陈岁松)
====
POWERPOINT 演示文档
http:~ccwmanage_ EXCEL矩陣運算(繁体中文)
参考文献:http:
如何用excel计算矩阵?
Excel的强大计算功能,不但能够进行简单的四则运算,也可以进行数组、矩阵的计算。
首先讲一下数组和矩阵的定义,Excel的数组、数组名和矩阵函数的设置:
矩阵不是
一个数,而是一个数组。在Excel里,数组占用一片单元域,单元域用大括号
表示,例如{A1:C
3},以便和普通单元域A1:C3相区别。设置时先选定单元域,同时按
Shift+Ctrl+En
ter键,大括弧即自动产生,数组域得以确认。
一个单元格就是一个变量,一片单元域也可以视
为一组变量。为了计算上的方便,一组
变量最好给一个数组名。例如A={A1:C3}、B={E1:
G3}等。数组名的设置步骤是:选定数
组域,单击“插入”菜单,选择“名称”项中的“定义”命令,
输入数组名,单击“确定”
按钮即可。更简单的命名办法为:选择数组域,单击名称框,直接输入名称就
行了。
矩阵函数是Excel进行矩阵计算的专用模块。用“插入”-“函数”命令打开“粘贴函
数”对话框(如图11),选中函数分类栏中的“数学与三角函数”,在右边栏常用的矩阵函
数
有: MDETERM--计算一个矩阵的行列式; MINVERSE--计算一个矩阵的逆矩阵;
MMULT--计算两个矩阵的乘积; SUMPRODUCT--计算所有矩阵对应元素乘积之和。
其次介绍一下矩阵的基本计算:
数组计算和矩阵计算有很大的区别,比如下面这个例子
中,A和B都是定义好的数组,
因为这两个数组都是3×3的,输出结果也是3×3个单元格。计算时先
选定矩阵计算结果的
输出域,为3×3的单元格区域,然后输入公式。如果输入“=A+B”或“=A-
B”,计算结
果是数组对应项相加或相减,输入“=A*B”表示数组A和B相乘,输入“=AB”表示
数
组A除数组B。如果要进行矩阵计算,就要用到相应的矩阵函数。矩阵相加、相减与数组
的加
减表达形式是一样的,也是“=A+B”和“=A-B”,表示矩阵相乘可以输入“=MMULT(A,
B)”,而矩阵相除是矩阵A乘B的逆矩阵,所以计算公式是“=MMULT(A,MINVERSE(B))”
。
公式输入后,同时按Shift+Ctrl+Enter键得到计算结果。对于更复杂的矩阵计算,可
以采
用分步计算。
矩阵计算的应用举例
在
测量平差过程中,有大多数精力用在矩阵的运算上,只要解决了矩阵求逆的计算,测量平
差也并不是很复
杂的过程,现在我们就介绍利用大家经常使用的办公软件Excel进行矩阵的
求逆计算,示例中使用的
是3×3的矩阵,实际工作中对于多阶矩阵,对Excel来说也是小
菜一碟:
1、输入待求逆矩阵,如下图:
2、在空白区选择一存放逆矩阵的区域,与待求逆矩阵大小相同,如下图:
3、保
持该区域为选中状态,在公式输入栏输入公式“Minverse(a1:c3)”,并按
“Ctrl+
Shift+Enter”,特别注意,不能直接回车键,必须在按住“Ctrl”“Shift”后再按回车<
br>键,如下图:
4、逆矩阵,如下图:
Excel中的矩阵相乘函数为:mmult(),具体使用方法请查阅帮助。
本文来自办公与PDF网 http:
用矩阵法解方程组——excel高级应用
2008-07-12
15:57
1 理论基础
根据数学知识将方程组改写成矩阵方程的形式:
AX = B
其中,A =(a ij )n*n 为n阶系数方阵;X=( X1, X2,„„,Xn)
,
是n维未知列向量;B=(b1,b2,⋯ bn) ,为n维常数列向量。
若系数方阵A有逆矩阵则X=A
-1
B成立,这样一来,就由求解线性方程
组的问题转
变成求未知向量的问题.系数方程A
有逆矩阵的充分必要条件是A
所对应的行列式的值不为0.即:若系数行列式l A l≠0,则方程组
必有唯一的
解:X=A
-1
B,这样求解线性方程组的过程就是进行一系列矩阵运算的
过程,而
Excel提供了一些矩阵运算的函数,利用这些函数可以很容易地进行相关的矩阵
运
算,从而得到线性方程组的解.
2 实例求解
例如要求解的解线性方程组为:
2X
1
l+3 X
2
+2 X
3
+3
X
4
=0
3 X
1
+2 X
2
-2
X
3
+3 X
4
= 3
3 X
1
+3
X
2
+3 X
3
-4 X
4
= 14
2
X
1
-2 X
2
-3 X
3
-3
X
4
=7
求解具体步骤如下:
1)在Excel中输入系数方阵.
在Excel工作表中任选4行4列的一个区域,如:A
:D4,将系数行列
式的元素依次输入到该区域
中去,如表1所.
2)判断线性方程组是否有解.
选择另外一个
元格,如E1,单击“常用” 具栏中“fx函数”按钮.在
“函数分类”中选择“数学与三
角 数”类,然后选择“MDETERM”函数.在“Array”输入框中输入 域A1:D4 。
单击“确定”按钮,在E1单元格中显示出行列式的值为一145。由此
结果
得知该方程组系数行列式的值不为0, 此系数矩阵有逆矩阵,方程组有唯
一解.
3)求系数矩阵的逆
A
-1
.
根据数学知识,当一个矩阵所对应的行列式的值不为O时,则该矩阵一定
存在逆矩阵,在Excel中
逆矩阵可以用MINVERSE函数求得.
在Excel工作表中再选4行4
列的一个区域F1:I4,单击“常用”工具
栏中“fx函数”按钮.在“函数分类” 中选择“数学与
三角函数”类,然后选
择“MINVERSE”函数.在“Aray”输入框中输入区域A1:D4
并单击“确定”.
将光标定位在编辑栏中所输入公式的结尾处,然后同时按下Ctrl,
Shift,Enter
3个键,则在区域FI:I4
中显示出矩阵A 的逆矩阵
A
-1
的系数
.
4)求线性方程组的解.
求线性方程组的解也就是求矩阵的逆矩阵
A
-1
与列向量的乘积:
X= A
-1
B
在上面同一张工作表中的F 1:I
4区域存放的是系数矩阵的逆矩阵A~ ,
再选定一个4行1列的区域如J1:J4
,将列向量B输入到该区域中去。
另外选择一个4行1列的区域如K1:K4,单击“
常用”工具栏中“fx
函数”按钮.在“函数分类”中选择“数学与三角函数”类,然后选择“MMUL
T”
函数.
在“Array1 ”输入框中输入矩阵的逆A 所在区域F1
:I4;在“Array2”
输入框中输入列向量 所在的
区域J1:J
4,然后单击“确定”.
将光标定位在编辑栏中所输入公式的结尾处,然后按下Ctrl,Shift,
Enter
3个键,则区域K1:K4中显
示出两个矩阵乘积结果,即方程的解:
X
1
=1;
X
2
=2;
X
3
= 一1;
X
4
一2.
上述方法是在判断线性方程组有解的条件下,利用Excel所提供的相关
函数进行矩阵运算,从而
得到线性方程组的解,避免了繁琐的手工运算,提高了工作效率.
EXCEL 在矩阵相关计算中的应用
王 树 梅
(同济大学电信学院 上海 201804)
摘 要
:Excel不但具有强大的数据分析和处理功能,而且具有丰富的函数,在数学计算中发挥着不容忽视
的作用。本文主要介绍Excel在进行计算行列式值、矩阵的转置、矩阵的逆、矩阵的秩、两矩阵的乘积、矩阵的特征向量和特征值以及矩阵在进行解线性方程组时的应用。
关键词:Excel 矩阵
函数 矩阵秩 矩阵逆
中图分类号:O151.2
Applications of
Excel in the Related Calculations of Matrix
Wang Shumei
(Tongji University Electronic
and Communication Academy,Shanghai 201804)
Abstract Excel has not only powerful ability
of data analyzing and dealing with,but it also has
abundant
functions,which play large effect on
mathematical this paper,some applications in
calculations of matrix are introduced
particularly,such as the calculation of range
formular,the transfering
of matrix,the athwart
of matrix,the product of matrixes,the proper
values and characteristic vectors of
matrix
and the application in unbinding linear equations.
Key words: Excel Matrix Function Order of
Matrix Athwart of Matrix
Microsoft office 是常用的
办公软件,给我们的工作、学习等方面带来了很大的方便。特别是文字处理软件
-WORD和和数据处理
软件EXCEL更是我们日常办公所离不开的两个重要工具。而EXCEL作为著名的电
子表格软件,它
所起到的作用远远不是人们所看到制作电子表格和使用一些简单的函数,它仍有很多强大
的功能没有被发
掘出来并利用。本文就在矩阵相关计算中如何利用EXCEL的方法作出详细的介绍。
一、
方阵对应行列式的值
已知 求 的值。
在EXCEL中解法如下:
第一步,在A1:C3范围内输入上述矩阵(如图1所示);
第二步,选中A4单元格,在“插入”菜单中选中“函数”菜单项;
第三步,在打开的“函数”对话框中,选中“MDETERM”函数如图2,并按“确定”按钮;
第四步,在弹出的对话框中输入矩阵所在的地址,按确定即得到行列式的值。
二、矩阵求和
已知 , 。 求
第一步,分别在A1:C3和E1:G3中输入A和B矩阵如图4;
第二步,在A5单元格中输入公式:=A1+E1,按回车,这时A5中显示数字7;
第三步
,选中A5单元格,移动鼠标至其右下角,鼠标形状变为黑色十字时,按下鼠标左键往右拖至C5,
B5
和C5中分别显示-3,3。同样的方法选中A5:C5,往下拖至A7:C7,便得到 的值。
三、矩阵求逆
第一步,在A1:C3中输入矩阵A;
第二步,选中A5:C7,“插入”→“函数” →“MINVERSE” →“确定”;
第
三步,在”array”项中输入A1:C3,按F2,同时按CTRL+SHIFT+ENTER即可如图6。
四、矩阵转置
第一步,在A1:C3中输入矩阵A,并选中;
第二步,“编辑”
“复制”;
第三步,选中A5,“编辑” → “选择性粘贴” → “转置”→ “确定”。
五、矩阵求秩
(一)矩阵秩的概念
定义 设 是 矩阵,从
中任取 行 列 ,由这些行、列相交处的元素按原来的次序所构成的 阶行列式,称为矩
阵 的一个
阶子行列式,简称 阶子式。
定义 矩阵 的所有不为零的子式的最高阶数 称为矩阵 的秩,记作
,即 。
(二)矩阵秩的数学求法
1.
行列式法:即定义从矩阵的最高阶子式算起,计算出不等于零的子式的最高阶数 ,此 即为该矩阵的秩。
2. 行初等变换法:用初等行变换化矩阵为阶梯形矩阵,此阶梯形矩阵非零行的行数
就是该矩阵的秩。
(三)利用EXCEL求矩阵秩
方法一,根据矩阵秩的定义,可以求所有不为零子式的最高阶数。
求矩阵 的秩.
.
显然 是 矩阵,4为其所有子式的最高阶数。先求 的值,若 不为零,则矩阵
的秩为4。若 为零,求所有
阶数为3的子式的值。若存在阶数为3的子式的值不为零,则矩阵
的秩为3,否则继续求所有阶数为2的
子式的值,依次类推。步骤如下:
第一步,按照上面所介绍利用EXCEL求矩阵行列式的方法求 的值
,则说明该矩阵的秩小于4;
第二步,取第二、三、四行,第一、二、四列,位于这些行、列相交处的元素所构成的三阶行列式
所以
方法二,从解方程组的角度去求矩阵的秩
若A 是满秩的,
则齐次方程组A X = 0 只有零解, 否则就有非零解。从这一思想出发可以得出另外一种求
矩阵
秩的方法。在讲这个方法之前,我们先介绍用EXCEL去解方程组。
设 此处 是 阶非奇异矩阵。
将其改变为如下问题:
A X = B
MAX S =
求
然后利用EXCEL提供的“规划求解”功能, 求得的结果就是线性方程组的解。
下面是就如何在“规划求解”过程中得到矩阵A 的秩给出具体的步骤。
其步骤是:
第一步,用“规划求解”工具解线性方程组A X = 0,
如果在“规划求解结果”中出现提示“[设置目标单元格]的值
未收敛”, 则表示A 的秩〈n,
也即齐次方程组有非零解。则转入第二步。否则停止计算;
第二步,在“规划求解结果”中选“恢复为原值”,
然后在“规划求解参数”中增设约束之后再转第一步;
这样反复用步骤一 和步骤二,
即每次求解后若提示是“[设置目标单元格] 的值未收敛”时, 就增加一个X
的
分量不为零作为新的约束, 然后再求解,
最后直至“规划求解结果”里出现提示“规划求解找到一解, 可满足
所有约束及最优状况”。则A
的秩就等于n 减去人为增加的X 的不为零的分量数n - r。并且得到的X 的
各个分量x 1,
x 2, ⋯, x n 就是A 的列向量的线性组合为0 的组合系数。
例
求矩阵A 的秩
第一步,以所给矩阵作为系数矩阵A , 用刚才所说的方法求解齐次方程组A
X = 0, 结果提示“[设置目标
单元格] 的值未收敛”。
第二步, 恢复为原值后,
增设约束x 4 = - 1, 再用方法2 求解, 结果提示仍然是“[设置目标单元格]
的值
未收敛”。
第三步, 再恢复为原值, 再增设约束x 3 = 1, 用方法2
求解, 提示为“规划求解找到一解, 可满足所有约
束及最优状况”。
则A 的秩r (A
) = 2, 此时X 的存放区域中的数值0, 1, 1, - 1 就是使A 的列向量的线性组合为0
的组合
系数, 即线性代数教材中的 。
如果仅仅是检查一个n
阶矩阵是否满秩, 采用矩阵运算的求逆就要方便得多。
六、矩阵乘积
设 ,那么矩阵
称为 和 的乘积,记为 。
当矩阵很大并且乘积矩阵数目很多的时候,人工求其乘积工作量
会很大,如果不细心很容易出错,所以找
到一种利用计算机去计算矩阵乘积就显得非常必要。也有很多计
算机爱好者用编程的方法去实现,也是不
错的方法,但是编程也要一定的时间,我们不如直接利用EXC
EL提供的函数直接去求来得快捷和方便。
在EXCEL中有专门用于矩阵乘积的函数MMULIT(
array1,array2,…),可以比较快速地得到两个矩阵的
乘积矩阵。
例 已知
, 求
第一步,分别在A1:C3区域和E1:G3区域中输入A和B如图7;
第二步,选中A5:C7区域,“插入”→“函数”→“MMULT”;
第三步,在array1中输入A1:C3,在array2中输入E1:G3;
第四步,按F2进入“ 编辑”状态,同时按下CTRL+SHIFT+ENTER
即可得到
如图7。
七、矩阵特征向量和特征值
设A是 阶矩阵,如果存在数 及非零的 维向量
,使得
(7.1)
成立,就称 是矩阵A的特征值, 是矩阵A属于特征值
的一个特征向量。
如何求 的值,由(7.1)可推出
(7.2)
从此可以求出
的值。把得到的 代入到(7.1)中求得相应的特征向量 。
下面我们通过一个具体的例子来说明特征值和特征向量的求解步骤。
例:
求A的特征值和特征向量。
(一)求特征值
第一步,打开一个EXCEL工作表,将A输入到A1:C3区域中;
第二步,将A主对角线的单元格分别改为“==5-E1”,“==3-E1”和
“==1-E1”,即以一个单元格引用E1代替 ;
第三步,在A5单元格中输入公式“=MDETERM(A1:C3)”;
第四步,在单元格
E1中,由0开始,逐步加一个小常数,如0.001,观察A5中返回值的符号变化情况,
每改变一次
符号,说明附近有一个使行列式为0的解。通过这步操作,得到3个近似值:0.4158,2.294,
6.29;
第五步,用“单变量求解”工具搜索比较精确解,“工具”→“单变量求解”
打开“单变量求解”对话框。在“目标单元格”中键入A5,在“目标值”中键入0.4158,在“可变单元格
”中键入
E1,按“确定”,则E1中返回值为0.415758,此为最靠近0的一个解。同理,分别
将另外两个近似值分别
输入到E1中,用“单变量求解”工具,求得全部3个更精确的近似解如下:0.
415758,2.294279,6.289944。
(二)求特征向量
分别将三个特征
值代入到(7.1)中,得到三个方程组,显然这三个系数矩阵所对应的行列式的值都近似为
零。那么根
据矩阵的性质,方程组一定有非零解。这就转化为解方程组,解方程组的方法虽然在前面已经
说过,但那
种方法更适合方程右边为非零向量的方程,所以在这里我们引用层次分析法(AHP)里所介绍
的求近似
特征向量来解所得到的三个方程组;
对应 =0.415758的方程组
(1) 为归一化
矩阵中的每个元素除以相应列的加和值 ,使矩阵的每一列归一化,即 。
(2) 各行平均
计算机归一化矩阵中每一行的平均值 ,得到向量 。
所以对应 的特征向量为 。
同样的方法求得 和 所对应的特征向量分别为: 和 。
八、结束语 EXCEL具有强大的数据处理能力,还有很多的函数功能是我们所不经常用到,比如丰富的数学和三角函数
、
统计函数等,都是需要去发掘并利用的。只有这样,EXCEL才能真正发挥它作为电子表格应有的功
能和魅
力。