Excel2003函数编程实现工程数学矩阵类运算的自动化处理

2014-09-11 02:31陈琰明
教育教学论坛 2014年10期

陈琰明

摘要:本文以Excel2003办公软件为平台,以其自带函数为工具,介绍了Excel应用于工程数学矩阵类相关运算的新方法——Excel函数编程法。通过工程数学教材中的实例计算,详细说明了自动生成运算结果的编程过程,并将该方法比对数学软件Mathematica进行分析。

关键词:Excel函数编程;矩阵类运算;自动化处理

中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2014)10-0254-02

一、前言

在工程数学的教学中,经常面临这样的困惑:矩阵的组成元素大多是10以内的数字,涉及到矩阵类的运算均是数字在满足矩阵运算规律下的加减乘除,如手工操作,运算过程较繁琐,结果不能快速得出。本科类院校,一般开设数学实验课,引入诸如Mathematics、Matlab等专业软件来进行计算,而众多高职高专院校未开设数学实验课。另外,对专业数学软件的学习势必加重学生的学习负担,笔者在教学改革工作中,通过多年的思考和探索,提出了一种新方法,即利用现有资源和条件,在学生理解基本数学概念的前提下,通过学生熟悉的办公软件Excel函数编程来解决这一问题。该方法充分利用Excel函数自动运算功能,通过简单的数据录入,便可完成矩阵类的自动化运算。方法简单实用,易于掌握,切实体现了高职高专教学“学以致用、够用为度”的原则。

二、Excel2003与矩阵之间的相关性

Excel系微软公司Office系列软件中的一个组件,可制作电子表格,完成复杂的数据分析,不仅简单易学,且实用性强,具有容易获得,普及面广、操作简洁等优点。矩阵即由多个数排列形成的数表,“电子表格、数表”均是表格,以此为桥梁和媒介,便可建立Excel和矩阵之间的联系。

(一)矩阵的表示

单元格是Excel的最小单位,在其中输入数字或文字后,由该单元格所在的行号和列号即可准确定位。矩阵中的元素表示数表中的数字在第i行第j列,矩阵的基本类型包括行、列向量和矩阵。

例1:在Excel中分别表示2行3列的矩阵A、3行3列的矩阵B、3行4列的矩阵C。

Excel表示方法:如图一所示,在Excel的中输入数字,并附说明性文字,如图中的“矩阵A,2行3列”文字即简单明了表示任一个矩阵。

(二)矩阵中某一个元素的提取

矩阵运算中涉及到从任意一个矩阵中提取某一个元素参与计算时,Excel2003利用计算相应值函数Offset建立参照系,提取矩阵中的元素。

例2:从矩阵A■ 2 3 5 1110 8 9 7 5 6 4 3提取元素a23和a13。

分析:以元素a11=2所在单元格A1建立参照系,则元素 a23=9相对于a11只需下移1行,右移2列即可;同理若以a34=7所在单元格D2建立参照系,则元素a13=5相对于a34而言只需上移1行,左移1列即可,如图二所示。Excel表示方法:函数Offset(reference,rows,cols),reference为参照系,rows是指相对于参照系偏移的行数,cols是指相对于参照系偏移的列数。特别注意,行(列)向下(右)偏移用正数表示,行(列)向上(左)偏移用负数表示。

三、Excel2003在矩阵类运算中的应用

(一)矩阵的加减

首先,判断矩阵之间是否满足相加(减)的条件,若满足,Excel自动完成,如下例3所示。

例3:已知矩阵A■1 2 34 5 6,B■7 8 91 2 1计算A+B。

分析:矩阵A、B的行数与列数对应相等(均为“2×3”类型),满足矩阵的加减法运算,在Excel2003中标注说明文字,输入A、B两个矩阵即可完成计算。

步骤1:在单元格B4中输入"=B1+G1",将鼠标箭头放置B4单元格的右下角,当出现“+”填充符号后向下填充至单元格B5,如图三所示。

步骤2:将鼠标箭头放置B5单元格的右下角,当出现“+”填充符号后向下填充至单元格D5,可实现自动化运算。在此例中运用了Excel2003的自动填充功能。

(二)矩阵的数乘

用数K(K≠0)乘以矩阵A,即用K乘以A中的所有元素。K作为一个常数是“不动”的,在Excel2003中利用绝对引用便可实现。

绝对引用:在某一单元格位置符前加货币符号“$”,如单元格A1的绝对引用表示为“$A$1”。

例4:已知A2×3,则用K=4乘以矩阵A,新矩阵C的求解过如下:

分析:将K所在的单元格“G1”转化为绝对引用“$G$1”进入计算。如图四所示。

操作步骤:与例3类似,在单元格B5中输入"=B1*$G$1",将鼠标箭头放置B5单元格的右下角,当出现“+”后向下填充至单元格B6;将鼠标箭头放置B6单元格的右下角,当出现“+”后向下填充至单元格D6,便可实现自动化运算。

(三)矩阵与矩阵的相乘

矩阵之间的乘积是整个矩阵运算的一个难点,在矩阵相乘的条件、得到乘积结果的判断上,很多学生存在困扰。笔者提出一个简便可行易于记忆的方法。

矩阵相乘的条件和结果的判断:已知矩阵A和矩阵B分别为“A:m行n列”,“B:h行j列”,如图五所示。

Excel2003函数计算:利用excel2003“MMULT”矩阵运算类函数便可实现矩阵与矩阵之间乘积的自动化输出。

例5:矩阵A■1 23 45 8,B■1 5 6 72 3 1 5,计算C=AB。

分析:A、B矩阵相乘的条件和结果矩阵C的格式如上可以进行判断。Excel函数MMULT(array1 array2,……),array1 和array2等分别表示矩阵A、B所在的区域,在此Excel将矩阵看作是数组格式,如图六所示。endprint

步骤1:在B6中输入"=MMULT(B1:C3,F1:I2)",选定A和B所在区域。按Enter键,“B1:C3”为矩阵A所在区域,“F1:I2”为矩阵B所在区域;

步骤2:根据图五判断,矩阵A、B相乘的结果C为“2×4”,选中放置输出结果的单元格区域B6:E7,按F2,回到步骤1得出的结果,同时按住[Ctrl]+[Shift]+[Enter]键,最终得出图六结果。

注:使用MMULT函数求解矩阵的乘积结果时,利用到Excel数组求值功能,在编辑栏输入函数后,利用数组输出格式“同时按住[Ctrl]+[Shift]+[Enter]键”进行结果输出。

(四)方阵的行列式和逆矩阵

逆阵存在的前提是方阵行列式的值不为零。可用函数MDETERM和MINVERSE来分别求解行列式的值和逆矩阵,下面通过例题来介绍两种函数的用法。

例6:已知A■=1 2 32 2 13 4 3,计算A的行列式,并判断A是否可逆,如可逆,得出A-1。

分析:求解逆阵,首先利用函数MDETERM计算矩阵A的行列式|A|,判断|A|的值是否为零,确定A是否可逆。在A可逆的条件下利用函数MINVERSE求解得到A-1。如图七所示:

步骤1:计算A的行列式,判断是否可逆;步骤2:在可逆的前提下,计算A的逆阵。

(五)矩阵的转置

矩阵的转置是将矩阵的行元素转换为列元素。在excel中可以利用函数“TRANSPOSE”或者使用复制-选择性粘贴菜单选项中的“转置”复选框来完成。下面参照图八,用函数TRANSPOSE(array)来完成矩阵的转置。

分析:对矩阵E转置,选中放置输出结果的单元格区域G1:H3,然后选择函数TRANSPOSE。选定矩阵A的区域“B1:D2”,利用数组格式输出结果。

四、后记

矩阵将日常生产生活中的数表(包含数字的表格)进行数学处理,可以帮助我们解决诸多实际问题,尤其在解决经济类问题时,利用矩阵可起到事半功倍的作用,如线性方程组的求解、投入产出问题、运输问题、资金投资策略以及闭合经济问题等方面都有着广泛的应用,利用Excel函数实现矩阵的自动化运算,既能够解决学生对运算的困扰,激发学生学习兴趣,培养学生的数字应用能力,还不至于增加学生学习学业负担,可谓一举多得。

参考文献:

[1]史玉磊.Excel函数与图标实用大全[M].北京:电子工业出版社,2007,3.

[2]丁岚.调查分析基本技能[M].北京:中国财政经济出版社,2007,11.

基金项目:本文系甘肃省高等学校科研项目资助,项目编号2013B-125。endprint

步骤1:在B6中输入"=MMULT(B1:C3,F1:I2)",选定A和B所在区域。按Enter键,“B1:C3”为矩阵A所在区域,“F1:I2”为矩阵B所在区域;

步骤2:根据图五判断,矩阵A、B相乘的结果C为“2×4”,选中放置输出结果的单元格区域B6:E7,按F2,回到步骤1得出的结果,同时按住[Ctrl]+[Shift]+[Enter]键,最终得出图六结果。

注:使用MMULT函数求解矩阵的乘积结果时,利用到Excel数组求值功能,在编辑栏输入函数后,利用数组输出格式“同时按住[Ctrl]+[Shift]+[Enter]键”进行结果输出。

(四)方阵的行列式和逆矩阵

逆阵存在的前提是方阵行列式的值不为零。可用函数MDETERM和MINVERSE来分别求解行列式的值和逆矩阵,下面通过例题来介绍两种函数的用法。

例6:已知A■=1 2 32 2 13 4 3,计算A的行列式,并判断A是否可逆,如可逆,得出A-1。

分析:求解逆阵,首先利用函数MDETERM计算矩阵A的行列式|A|,判断|A|的值是否为零,确定A是否可逆。在A可逆的条件下利用函数MINVERSE求解得到A-1。如图七所示:

步骤1:计算A的行列式,判断是否可逆;步骤2:在可逆的前提下,计算A的逆阵。

(五)矩阵的转置

矩阵的转置是将矩阵的行元素转换为列元素。在excel中可以利用函数“TRANSPOSE”或者使用复制-选择性粘贴菜单选项中的“转置”复选框来完成。下面参照图八,用函数TRANSPOSE(array)来完成矩阵的转置。

分析:对矩阵E转置,选中放置输出结果的单元格区域G1:H3,然后选择函数TRANSPOSE。选定矩阵A的区域“B1:D2”,利用数组格式输出结果。

四、后记

矩阵将日常生产生活中的数表(包含数字的表格)进行数学处理,可以帮助我们解决诸多实际问题,尤其在解决经济类问题时,利用矩阵可起到事半功倍的作用,如线性方程组的求解、投入产出问题、运输问题、资金投资策略以及闭合经济问题等方面都有着广泛的应用,利用Excel函数实现矩阵的自动化运算,既能够解决学生对运算的困扰,激发学生学习兴趣,培养学生的数字应用能力,还不至于增加学生学习学业负担,可谓一举多得。

参考文献:

[1]史玉磊.Excel函数与图标实用大全[M].北京:电子工业出版社,2007,3.

[2]丁岚.调查分析基本技能[M].北京:中国财政经济出版社,2007,11.

基金项目:本文系甘肃省高等学校科研项目资助,项目编号2013B-125。endprint

步骤1:在B6中输入"=MMULT(B1:C3,F1:I2)",选定A和B所在区域。按Enter键,“B1:C3”为矩阵A所在区域,“F1:I2”为矩阵B所在区域;

步骤2:根据图五判断,矩阵A、B相乘的结果C为“2×4”,选中放置输出结果的单元格区域B6:E7,按F2,回到步骤1得出的结果,同时按住[Ctrl]+[Shift]+[Enter]键,最终得出图六结果。

注:使用MMULT函数求解矩阵的乘积结果时,利用到Excel数组求值功能,在编辑栏输入函数后,利用数组输出格式“同时按住[Ctrl]+[Shift]+[Enter]键”进行结果输出。

(四)方阵的行列式和逆矩阵

逆阵存在的前提是方阵行列式的值不为零。可用函数MDETERM和MINVERSE来分别求解行列式的值和逆矩阵,下面通过例题来介绍两种函数的用法。

例6:已知A■=1 2 32 2 13 4 3,计算A的行列式,并判断A是否可逆,如可逆,得出A-1。

分析:求解逆阵,首先利用函数MDETERM计算矩阵A的行列式|A|,判断|A|的值是否为零,确定A是否可逆。在A可逆的条件下利用函数MINVERSE求解得到A-1。如图七所示:

步骤1:计算A的行列式,判断是否可逆;步骤2:在可逆的前提下,计算A的逆阵。

(五)矩阵的转置

矩阵的转置是将矩阵的行元素转换为列元素。在excel中可以利用函数“TRANSPOSE”或者使用复制-选择性粘贴菜单选项中的“转置”复选框来完成。下面参照图八,用函数TRANSPOSE(array)来完成矩阵的转置。

分析:对矩阵E转置,选中放置输出结果的单元格区域G1:H3,然后选择函数TRANSPOSE。选定矩阵A的区域“B1:D2”,利用数组格式输出结果。

四、后记

矩阵将日常生产生活中的数表(包含数字的表格)进行数学处理,可以帮助我们解决诸多实际问题,尤其在解决经济类问题时,利用矩阵可起到事半功倍的作用,如线性方程组的求解、投入产出问题、运输问题、资金投资策略以及闭合经济问题等方面都有着广泛的应用,利用Excel函数实现矩阵的自动化运算,既能够解决学生对运算的困扰,激发学生学习兴趣,培养学生的数字应用能力,还不至于增加学生学习学业负担,可谓一举多得。

参考文献:

[1]史玉磊.Excel函数与图标实用大全[M].北京:电子工业出版社,2007,3.

[2]丁岚.调查分析基本技能[M].北京:中国财政经济出版社,2007,11.

基金项目:本文系甘肃省高等学校科研项目资助,项目编号2013B-125。endprint