论文部分内容阅读
[摘 要] 《线性代数》是高校理工科学生的必修公共基础课,内容涉及矩阵、向量、线性方程组求解、特征值与特征向量、二次型等。在有限的学时下,传统的教学方法主要是从概念和方法上进行抽象的讲解。针对《线性代数》的当前教学现状,结合软件Matlab实现《线性代数》教学,提出四点改进的教学方法,采用“理论教学—Matlab仿真—程序强化”的教学手段,以增强大学生对理论知识的理解和操练计算机的程序编写。
[关 键 词] 線性代数;Matlab;程序;仿真;教学
[中图分类号] G642 [文献标志码] A [文章编号] 2096-0603(2017)19-0066-02
当前,线性代数课程既是国内外高等学校理、工、管、农类专业的公共基础课程,例如,计算机科学与技术、电子科学与技术、软件工程、机械制造及其自动化等,也是全国硕士研究生入学考试“高等数学”的重要组成部分。作为大学数学课程的一个分支,《线性代数》以研究矩阵、向量、向量空间(或称线性空间)、线性变换、线性方程组求解、二次型等为主要内容。由于非线性模型通常可以被近似为线性模型,因此,《线性代数》不仅具备了纯数学的高度抽象性,还被具体地、广泛地应用于自然科学和社会科学的研究中。美国著名的数学教育家、美国国家《线性代数》课程研究小组核心成员、数学课程现代化的倡导者David C. Lay教授曾经说过:“《线性代数》课程是最有趣、最具价值的大学数学课程”[1][2]。
21世纪是信息的时代,科学技术的发展在某种程度上要依靠强大的数学理论支撑。《线性代数》内容是其他数学类课程的重要基础成分[3],如,《微分方程》《计算机图形学》《金融工程》《概率论与数理统计》和《最优化》。特别地,在经济、管理、海洋、气象和金融等专业中,许多实际问题都要转换为多变量的数学优化模型,如“公交车调度”“产品销售”“货币管理”和“农作物栽培”等,而求解这些实际模型必须以《线性代数》为基础,才能得到最优状态。因此,线性代数的教学方法研究具有重要的意义。
针对我校《线性代数》的教与学现状以及该课程本身所固有的特点,本文提出结合软件Matlab实现的《线性代数》教学方法研究。结合我校人才培养目标,以提高学生的学习积极性、增强学生学习兴趣和注重实际操作能力为目的,以有效避免纯数学的理论性和单调性,建立与Matlab程序实现的创新式教学。以下提出四点关于《线性代数》的教学研究:
一、向量与矩阵的可视化教学
矩阵是由若干行和若干列所组成的数表[4],例如,公式(1)给出了一个3×4矩阵A:
A=202 132 34 7973 56 110 6628 250 30 87(1)
特别地,如果只有一行(列)的矩阵,我们称之为行(列)向量,并用小写字母表示。然而,如果只停留在这抽象的概念上进行教学,学生会觉得其在生活的作用不大。而Matlab刚好是可视化实现的强有力工具,将Matlab结合到矩阵与向量的教学中,可以使学生对《线性代数》的学习更有兴趣。例如,我们在讲解了矩阵之后,给了个512×512的彩色辣椒图(如图1所示),利用Matlab软件进行imread读取,得到R,G,B三个信道的大小为512×512的矩阵P1,P2,P3。通过可视化的效果增强学生对矩阵及应用的认识,同时,消除“纯数字”的抽象概念教学。
■
图1 彩色辣椒
P1=101 140 … 120123 191 … 115■ ■ ■ ■93 119 … 198512×512,
P2=0 0 … 00 96 … 192■ ■ ■ ■0 79 … 200512×512,
P3=0 142 … 1810 46 … 85■ ■ ■ ■0 36 … 171512×512(2)
二、线性方程组的求解及Matlab实现
线性方程组的求解是《线性代数》里的一项重要内容,求解结果包括:(1)无解;(2)有唯一解;(3)无穷多解并求通解。若将Matlab应用到线性方程组的求解将能有效避免繁琐的计算和分析过程,提高学生的学习兴趣。另外,将能引起学生的好奇心并实现与Matlab求解一样的结果。特别是清楚解析解与数值解的差异。如下列方程[4]:
x1+x2+2x3-x4=02x1+x2+x3-x4=02x1+2x2+x3+2x4=0(3)
传统求解方法为(初等变换):
1 1 2 -12 1 1 -12 2 1 2→1 0 0 4/30 1 0 30 0 1 -4/3,得方程组的解为:(x1,x2,x3,x4)′=k(4/3,-3,4/3,1)′,其中k为常数。
而在Matlab软件中,可以直接调用rref命令,如下:
>>C=[1 1 2 -1;2 1 1 -1;2 2 1 2];%回车
>>D=rref(C) %回车
>>D=1 0 0 -1.333
0 1 0 3
0 0 1 -1.333
由此即得方程组的解为:(x1,x2,x3,x4)′=k(1.333,-3,1.333,1)′,其中k为常数。而这里,1.333恰好是Matlab在format short环境下的4/3的值。若在输入矩阵C前,设置format rat格式,则将保留分数4/3而不进行四舍五入,并与解析解完全一致。这样,学生不仅了解了应用Matlab可以解决大型的线性方程的求解问题,还可以进一步了解近似解在工程上的意义与应用。
三、特征值与特征向量的教学
在《线性代数》课程教学中,对方阵B的特征值与特征向量的求解步骤一般为:先通过计算多项式方程λI-B=0求出特征值,再代入方程组(λI-B)x=0求出特征向量x。如果矩阵的阶数大,那么计算起来也是比较繁琐的,会造成学生的兴趣低下。现结合Matlab软件中的eig命令来计算矩阵的特征值与特征向量,例如,求矩阵B=2 3 43 5 74 7 11的特征值与特征向量的程序如下: >>B=[2 3 4;3 5 7;4 7 11];%回车
[x,lamda]=eig(B) %回车
x=
0.6831 0.6607 0.3111
-0.7023 0.4776 0.5278
0.2001 -0.5791 0.7903
lamda=
0.0875 0 0
0 0.6628 0
0 0 17.2497
这里,输出中的lamda的对角线上的值即为原矩阵的三个特征值,而x的列为相应的三个特征向量。因此,在Matlab中得较容易地、较快速地求出特征值与特征向量,强化学生的实际操作能力和程序编写能力,培养综合素质全面发展的大学毕业生。
四、二次型的可视化教学
二次型是《線性代数》中较难理解的知识点,为加深学生对二次型的认识,不能只停留在理论公式的教学上。否则,将导致学生无学习的积极性。我们可以通过Matlab的强大画图功能[5]吸引学生的眼球,并生动形象地展示在课堂上。例如,在讲解二次型f(x,y)=x2-5y2+xy时,通过Matlab软件命令meshgrid与mesh进行三维图形的构建,得到如下图2的效果:
>>[x,y]=meshgrid(-6:0.2:6,-6:0.2:6);
>>f=x.^2-5*y.^2+x.*y;
>>mesh(x,y,f)
■
图2 二次型的三维曲面
这里通过图形图像的结合,提高了学生学习数学公式的兴趣,特别是复杂的公式。而《线性代数》中有许多大型的数学公式,如果利用Matlab进行可视化教学,将有助于提高学生对《线性代数》的兴趣。从而在师生的不断互动中,不仅提高了教师的教学质量而进行有效的教学,又培养了学生的主动性而进行有效的学习。
Matlab是由美国密西根大学的Moler教授首创,原名为Matrix Laboratory的前三个字母缩写。在《线性代数》的教学中,提出合理地与Matlab实现相结合,采用“理论教学—Matlab仿真—程序强化”的教学手段,将可以达到的效果为:(1)促进《线性代数》教学改革,以提高课堂的教学质量;(2)应用Matlab软件平台,改变理论教学方式,采用数形结合,以提高学生的学习兴趣,避免学习理论时出现乏味性;(3)通过程序设计进行仿真实验,以有效提高学生的实际操作能力。
参考文献:
[1]申国伦,薛有才.中美一些《线性代数》教材分析与思考[J].大学数学,2009,25(5):202-206.
[2]David C. Lay.线性代数及其应用[M].3版.刘深泉,洪毅,译.北京:机械工业出版社,2005.
[3]曾友芳.线性代数课程教学质量之探讨[J].大学教育,2013(8):73-74.
[4]同济大学数学系.线性代数[M].6版.北京:高等教育出版社,2014.
[5]张雪峰.MATLAB仿真软件在线性代数课程中的应用研究[J].曲阜师范大学学报,2016,42(1):42-46.
[关 键 词] 線性代数;Matlab;程序;仿真;教学
[中图分类号] G642 [文献标志码] A [文章编号] 2096-0603(2017)19-0066-02
当前,线性代数课程既是国内外高等学校理、工、管、农类专业的公共基础课程,例如,计算机科学与技术、电子科学与技术、软件工程、机械制造及其自动化等,也是全国硕士研究生入学考试“高等数学”的重要组成部分。作为大学数学课程的一个分支,《线性代数》以研究矩阵、向量、向量空间(或称线性空间)、线性变换、线性方程组求解、二次型等为主要内容。由于非线性模型通常可以被近似为线性模型,因此,《线性代数》不仅具备了纯数学的高度抽象性,还被具体地、广泛地应用于自然科学和社会科学的研究中。美国著名的数学教育家、美国国家《线性代数》课程研究小组核心成员、数学课程现代化的倡导者David C. Lay教授曾经说过:“《线性代数》课程是最有趣、最具价值的大学数学课程”[1][2]。
21世纪是信息的时代,科学技术的发展在某种程度上要依靠强大的数学理论支撑。《线性代数》内容是其他数学类课程的重要基础成分[3],如,《微分方程》《计算机图形学》《金融工程》《概率论与数理统计》和《最优化》。特别地,在经济、管理、海洋、气象和金融等专业中,许多实际问题都要转换为多变量的数学优化模型,如“公交车调度”“产品销售”“货币管理”和“农作物栽培”等,而求解这些实际模型必须以《线性代数》为基础,才能得到最优状态。因此,线性代数的教学方法研究具有重要的意义。
针对我校《线性代数》的教与学现状以及该课程本身所固有的特点,本文提出结合软件Matlab实现的《线性代数》教学方法研究。结合我校人才培养目标,以提高学生的学习积极性、增强学生学习兴趣和注重实际操作能力为目的,以有效避免纯数学的理论性和单调性,建立与Matlab程序实现的创新式教学。以下提出四点关于《线性代数》的教学研究:
一、向量与矩阵的可视化教学
矩阵是由若干行和若干列所组成的数表[4],例如,公式(1)给出了一个3×4矩阵A:
A=202 132 34 7973 56 110 6628 250 30 87(1)
特别地,如果只有一行(列)的矩阵,我们称之为行(列)向量,并用小写字母表示。然而,如果只停留在这抽象的概念上进行教学,学生会觉得其在生活的作用不大。而Matlab刚好是可视化实现的强有力工具,将Matlab结合到矩阵与向量的教学中,可以使学生对《线性代数》的学习更有兴趣。例如,我们在讲解了矩阵之后,给了个512×512的彩色辣椒图(如图1所示),利用Matlab软件进行imread读取,得到R,G,B三个信道的大小为512×512的矩阵P1,P2,P3。通过可视化的效果增强学生对矩阵及应用的认识,同时,消除“纯数字”的抽象概念教学。
■
图1 彩色辣椒
P1=101 140 … 120123 191 … 115■ ■ ■ ■93 119 … 198512×512,
P2=0 0 … 00 96 … 192■ ■ ■ ■0 79 … 200512×512,
P3=0 142 … 1810 46 … 85■ ■ ■ ■0 36 … 171512×512(2)
二、线性方程组的求解及Matlab实现
线性方程组的求解是《线性代数》里的一项重要内容,求解结果包括:(1)无解;(2)有唯一解;(3)无穷多解并求通解。若将Matlab应用到线性方程组的求解将能有效避免繁琐的计算和分析过程,提高学生的学习兴趣。另外,将能引起学生的好奇心并实现与Matlab求解一样的结果。特别是清楚解析解与数值解的差异。如下列方程[4]:
x1+x2+2x3-x4=02x1+x2+x3-x4=02x1+2x2+x3+2x4=0(3)
传统求解方法为(初等变换):
1 1 2 -12 1 1 -12 2 1 2→1 0 0 4/30 1 0 30 0 1 -4/3,得方程组的解为:(x1,x2,x3,x4)′=k(4/3,-3,4/3,1)′,其中k为常数。
而在Matlab软件中,可以直接调用rref命令,如下:
>>C=[1 1 2 -1;2 1 1 -1;2 2 1 2];%回车
>>D=rref(C) %回车
>>D=1 0 0 -1.333
0 1 0 3
0 0 1 -1.333
由此即得方程组的解为:(x1,x2,x3,x4)′=k(1.333,-3,1.333,1)′,其中k为常数。而这里,1.333恰好是Matlab在format short环境下的4/3的值。若在输入矩阵C前,设置format rat格式,则将保留分数4/3而不进行四舍五入,并与解析解完全一致。这样,学生不仅了解了应用Matlab可以解决大型的线性方程的求解问题,还可以进一步了解近似解在工程上的意义与应用。
三、特征值与特征向量的教学
在《线性代数》课程教学中,对方阵B的特征值与特征向量的求解步骤一般为:先通过计算多项式方程λI-B=0求出特征值,再代入方程组(λI-B)x=0求出特征向量x。如果矩阵的阶数大,那么计算起来也是比较繁琐的,会造成学生的兴趣低下。现结合Matlab软件中的eig命令来计算矩阵的特征值与特征向量,例如,求矩阵B=2 3 43 5 74 7 11的特征值与特征向量的程序如下: >>B=[2 3 4;3 5 7;4 7 11];%回车
[x,lamda]=eig(B) %回车
x=
0.6831 0.6607 0.3111
-0.7023 0.4776 0.5278
0.2001 -0.5791 0.7903
lamda=
0.0875 0 0
0 0.6628 0
0 0 17.2497
这里,输出中的lamda的对角线上的值即为原矩阵的三个特征值,而x的列为相应的三个特征向量。因此,在Matlab中得较容易地、较快速地求出特征值与特征向量,强化学生的实际操作能力和程序编写能力,培养综合素质全面发展的大学毕业生。
四、二次型的可视化教学
二次型是《線性代数》中较难理解的知识点,为加深学生对二次型的认识,不能只停留在理论公式的教学上。否则,将导致学生无学习的积极性。我们可以通过Matlab的强大画图功能[5]吸引学生的眼球,并生动形象地展示在课堂上。例如,在讲解二次型f(x,y)=x2-5y2+xy时,通过Matlab软件命令meshgrid与mesh进行三维图形的构建,得到如下图2的效果:
>>[x,y]=meshgrid(-6:0.2:6,-6:0.2:6);
>>f=x.^2-5*y.^2+x.*y;
>>mesh(x,y,f)
■
图2 二次型的三维曲面
这里通过图形图像的结合,提高了学生学习数学公式的兴趣,特别是复杂的公式。而《线性代数》中有许多大型的数学公式,如果利用Matlab进行可视化教学,将有助于提高学生对《线性代数》的兴趣。从而在师生的不断互动中,不仅提高了教师的教学质量而进行有效的教学,又培养了学生的主动性而进行有效的学习。
Matlab是由美国密西根大学的Moler教授首创,原名为Matrix Laboratory的前三个字母缩写。在《线性代数》的教学中,提出合理地与Matlab实现相结合,采用“理论教学—Matlab仿真—程序强化”的教学手段,将可以达到的效果为:(1)促进《线性代数》教学改革,以提高课堂的教学质量;(2)应用Matlab软件平台,改变理论教学方式,采用数形结合,以提高学生的学习兴趣,避免学习理论时出现乏味性;(3)通过程序设计进行仿真实验,以有效提高学生的实际操作能力。
参考文献:
[1]申国伦,薛有才.中美一些《线性代数》教材分析与思考[J].大学数学,2009,25(5):202-206.
[2]David C. Lay.线性代数及其应用[M].3版.刘深泉,洪毅,译.北京:机械工业出版社,2005.
[3]曾友芳.线性代数课程教学质量之探讨[J].大学教育,2013(8):73-74.
[4]同济大学数学系.线性代数[M].6版.北京:高等教育出版社,2014.
[5]张雪峰.MATLAB仿真软件在线性代数课程中的应用研究[J].曲阜师范大学学报,2016,42(1):42-46.