Excel 应用MINVERSE函数和MMULT函数计算逆矩阵和矩阵乘积

MINVERSE函数的功能是计算数组中存储的矩阵的逆矩阵。MMULT函数的功能是,计算两个数组的矩阵乘积。结果矩阵的行数与参数array1的行数相同,矩阵的列数与参数array2的列数相同。两函数的语法分别如下:


MINVERSE(array)
MMULT(array1,array2)

其中参数array是行数和列数相等的数值数组。参数array1、array2是要进行矩阵乘法运算的两个数组,可以是单元格区域、数组常量或引用。

【背景知识】在MINVERSE函数中,提到了一个概念逆矩阵。图13-33所示的是计算二阶方阵逆矩阵的示例。假设A1:B2中包含以字母a、b、c和d表示的四个任意的数,则该表表示矩阵A1:B2的逆矩阵。

图13-33 矩阵A1:B2的逆矩阵

【典型案例】使用MINVERSE函数和MMULT函数,求下面的三元一次方程组的解。

本例的原始数据如图13-34所示。

步骤1:求解系数矩阵的逆矩阵。选中A13~C15单元格区域,在编辑栏中输入公式“=MINVERSE(A7:C9)”,然后按组合键“Ctrl+Shift+Enter”,计算出系数矩阵的逆矩阵,结果如图13-35所示。

图13-34 原始数据

图13-35 计算系数矩阵的逆矩阵

步骤2:求三元一次方程组的数值矩阵。选中F13~F15单元格区域,在编辑栏中输入公式“=MMULT(A13:C15,E7:E9)”,然后按组合键“Ctrl+Shift+Enter”,计算出方程组的数值矩阵,即方程组的解,结果如图13-36所示。

步骤3:检查方程组的解是否正确。在G7单元格中输入公式“=A7*$F$13+B7*$F$14+C7*$F$15=E7”,用来检查方程组的解是否满足第一个方程,然后使用自动填充功能来检查下面的两个方程,检查结果如图13-37所示。

图13-36 求三元一次方程组的数值矩阵

图13-37 检查结果

【使用指南】与求行列式的值一样,求解逆矩阵常被用于求解多元联立方程组。所以将MINVERSE函数和MMULT函数合在一起,求解一个方程组。

在MINVERSE函数中,参数array可以是单元格区域,或单元格区域和数组常量的名称。如果参数array中的单元格为空、包含文字或行和列的数目不相等,则函数MINVERSE将返回错误值“#VALUE!”。对于一些不能求逆的矩阵,MINVERSE函数将返回错误值“#NUM!”。不能求逆的矩阵的行列式值为零。

在MMULT函数中,参数array1的列数与参数array2的行数必须相同,而且两个数组中都只能包含数值。如果参数array1和参数array2中的单元格为空、包含文字或行和列的数目不相等,MMULT函数将返回错误值“#VALUE!”。

Excel 应用MDETERM函数计算矩阵行列式的值

MDETERM函数的功能是计算一个数组的矩阵行列式的值。其语法如下:


MDETERM(array)

其中参数array为行数和列数相等的数值数组。

【背景知识】矩阵行列式的值是由数组中的各元素计算而来的。对一个三行、三列的数组A1:C3,其行列式的值定义如下:

MDETERM(A1:C3)=A1*(B2*C3-B3*C2)+A2*(B3*C1-B1*C3)+A3*(B1*C2-B2*C1)

【典型案例】已知某矩阵,求解矩阵的行列式,并根据行列式判断矩阵是否可逆。本例的原始数据如图13-30所示。

步骤1:在B6单元格中输入公式“=MDETERM(A1:D4)”,按Enter键,计算该矩阵行列式,计算结果如图13-31所示。

图13-30 原始数据

图13-31 计算行列式

步骤2:在B7单元格中输入公式“=IF(MDETERM(A1:D4)<>0,”可逆”,”不可逆”)”,按Enter键,判断矩阵是否可逆,计算结果如图13-32所示。

图13-32 判断矩阵是否可逆

【使用指南】矩阵的行列式值常被用来求解多元联立方程。MDETERM函数的精确度可达16位有效数字,因此运算结果因位数的取舍可能会导致某些微小误差。在MDETERM函数中,参数array可以是单元格区域,或是区域或数组常量的名称。如果参数array中的单元格为空、包含文字或行和列的数目不相等,MDETERM函数将返回错误值“#VALUE!”。

Excel 计算逆矩阵和矩阵乘积:MINVERSE函数

MINVERSE函数的功能是计算数组中存储的矩阵的逆矩阵。MMULT函数的功能是计算两个数组的矩阵乘积,结果矩阵的行数与参数array1的行数相同,矩阵的列数与参数array2的列数相同。两函数的语法分别如下:


MINVERSE(array)
MMULT(array1,array2)

其中,array参数是行数和列数相等的数值数组。参数array1、array2是要进行矩阵乘法运算的两个数组,可以是单元格区域、数组常量或引用。

在MINVERSE函数中,提到了一个概念——逆矩阵。如图14-78所示的是计算二阶方阵逆矩阵的示例。假设A1:B2中包含以字母a、b、c和d表示的4个任意的数,则该表表示矩阵A1:B2的逆矩阵。

要求使用MINVERSE函数和MMULT函数,求下面的三元一次方程组的解。

图14-78 矩阵A1:B2的逆矩阵

打开“求解方程.xlsx”工作簿,本例的原始数据如图14-79所示。

STEP01:选中A13:C15单元格区域,在编辑栏中输入公式“=MINVERSE(A7:C9)”,然后按“Ctrl+Shift+Enter”组合键返回,即可计算出系数矩阵的逆矩阵,结果如图14-80所示。

图14-79 原始数据

图14-80 求解系数矩阵的逆矩阵

STEP02:选中F13:F15单元格区域,在编辑栏中输入公式“=MMULT(A13:C15,E7:E9)”,然后按“Ctrl+Shift+Enter”组合键返回,即可计算出方程组的数值矩阵,即方程组的解,如图14-81所示。

STEP03:选中G7单元格,在编辑栏中输入公式“=A7*$F$13+B7*$F$14+C7*$F$15=E7”,用来检查方程组的解是否满足第1个方程,按“Enter”键即可返回检查结果,如图14-82所示。

图14-81 求三元一次方程组的数值矩阵

图14-82 检查方程组的解是否正确

STEP04:选中G7单元格,利用填充柄工具向下复制公式至G9单元格,通过自动填充功能来检查下面的两个方程是否满足,最终检查结果如图14-83所示。

与求行列式的值一样,求解逆矩阵常被用于求解多元联立方程组。所以可以将MINVERSE函数和MMULT函数结合在一起,求解一个方程组。

在MINVERSE函数中,array参数可以是单元格区域,或单元格区域和数组常量的名称。如果array参数中的单元格为空、包含文字或是行和列的数目不相等,则函数MINVERSE将返回错误值“#VALUE!”。对于一些不能求逆的矩阵,MINVERSE函数将返回错误值“#NUM!”。不能求逆的矩阵的行列式值为零。

图14-83 检查方程结果

在MMULT函数中,array1参数的列数与array2参数的行数必须相同,而且两个数组中都只能包含数值。如果array1参数和array2参数中的单元格为空、包含文字或是行和列的数目不相等,MMULT函数将返回错误值“#VALUE!”。

Excel 计算矩阵行列式的值:MDETERM函数

MDETERM函数的功能是计算一个数组的矩阵行列式的值。其语法如下:


MDETERM(array)

其中,array参数为行数和列数相等的数值数组。

矩阵行列式的值是由数组中的各元素计算而来的。对于一个3行、3列的数组A1:C3,其行列式的值定义如下:


MDETERM(A1:C3)=A1*(B2*C3-B3*C2)+A2*(B3*C1-B1*C3)+A3*(B1*C2-B2*C1)

下面通过实例详细讲解该函数的使用方法与技巧。

已知某矩阵,求解矩阵的行列式,并根据行列式判断矩阵是否可逆。打开“MDETERM函数.xlsx”工作簿,本例的原始数据如图14-75所示。具体的求解步骤如下。

STEP01:选中B6单元格,在编辑栏中输入公式“=MDETERM(A1:D4)”,然后按“Enter”键返回,即可计算出该矩阵行列式,结果如图14-76所示。

图14-75 原始数据

计算行列式

图14-76 计算行列式

STEP02:选中B7单元格,在编辑栏中输入公式“=IF(MDETERM(A1:D4)<>0,”可逆”,”不可逆”)”,然后按“Enter”键返回,即可判断出矩阵是否可逆,结果如图14-77所示。

判断矩阵是否可逆

图14-77 判断矩阵是否可逆

矩阵的行列式值常被用来求解多元联立方程。MDETERM函数的精确度可达16位有效数字,因此运算结果因位数的取舍可能会导致微小误差。在MDETERM函数中,array参数可以是单元格区域,或区域或数组常量的名称。如果array参数中的单元格为空、包含文字或是行和列的数目不相等,MDETERM函数将返回错误值“#VALUE!”。