APP下载

利用MATLAB线性代数课程的混合式教学实践研究

2022-05-30丁文文刘子涵王昌会冷平

现代职业教育·高职高专 2022年28期
关键词:特征值矩阵思维

丁文文 刘子涵 王昌会 冷平

[摘           要]  基于《教育信息化“十三五”规划》中提出的要通过推进信息技术对教育教学保驾护航,探讨将MATLAB运用于线性代数课程的实践效果,结合MATLAB推动工程问题的计算机化,运用科学的方法推动信息技术与课程融合,促进课程改革的创新发展。

[关    键   词]  MATLAB程序设计;线性代数;混合式教学

[中图分类号]  G642                    [文献标志码]  A                  [文章编号]  2096-0603(2022)28-0061-03

线性代数是代数学的一个分支,主要处理线性关系问题。基于线性代数在工程技术方面的广泛应用性,应该赋予它一项重要使命——推动工程问题的计算机化。要做到这一点,必须让学生学会用计算机求解高阶复杂的矩阵模型,学会理解计算机给出的答案,而不是让学生花很多学时用手工去推演求解低阶线性方程组的解。然而传统的线性代数教学只见定义、定理和推导,越来越形式化,造成很多工科生把线性代数看作是一门行列式求值和矩阵运算技巧训练课,却不理解计算的原理,感觉不到线性代数的应用性[1]。用计算机和数学软件代替笔算,节省了学生时间,使他们把更多注意力放到线性代数的应用上。MATLAB是美国的一款商业数学软件,是matrix和laboratory两个词的组合,称为矩阵实验室。MATLAB可以将矩阵计算、数值分析和数学建模等很多强大的功能以简单方便的操作来实现,使得用户特别是大学生认为数学的计算不再繁杂,减少对数学的恐惧,提高学习数学的兴趣,实现学生的自我发展和科学创新[2]。

一、国内线性代数教学存在的难题

线性代数是一门非常抽象而又很难掌握的学科。由于教学计划的限制,课时少,导致学生知识体系的不完整性,这与工科数学教学“以应用为目的,以必需够用为度”的原则是不相符的。

在大数据时代,线性代数的重要性由于与计算机结合而日益提高,它是组织海量高维度数据进行科学计算和相关性分析的重要工具。学生除了学习线性代数基本知识外,还要学会把这些知识应用于自己的专业,这个特点对学生及教师的要求就提高了。比如,在计算机院校中,希望学生能利用矩阵特征值和特征向量进行彩色图像的压缩;利用矩阵分解来帮助学生为新的数据集选择适合它的算法和参数等等。在财经类院校中,希望学生能利用线性方程组和逆矩阵的计算建立列昂惕夫投入产出模型;利用矩阵特征值与特征向量解决发展与环境问题;利用二次型在优化中的应用分析价格弹性等等。这些都需要对线性代数知识能熟练地掌握并具备较高的应用技巧。由于实际问题涉及变量较多,建立其相关矩阵规模较大,使用手算无法完成。由于这一局限性,计算量庞大的问题不能通过教学来完成,因此割裂了实际问题建模和线性代数教学之间的关系。

计算思维是运用计算机科学的思维方式进行问题求解、系统设计以及人类行为理解等一系列思维活动。编程是实现计算思维的具体语言和数据的运算方式。以往线性代数课堂教学中,学生每个阶段积累的感性认识不足以支撑上升到该阶段我们所期望的理性认识高度——计算思维。在很多学生计算机基础很薄弱的条件下,采用何种不同寻常的教学手段和教学方法,用有限的课时促使我们突破学生之瓶颈,让学生更好地掌握计算思维来解决线性代数的问题?学生没有意识到计算机科学的基本思想和重要方法对自己“计算思维能力”培养的重要性,认为会使用几种编程语言就具备了“计算思维能力”。探索线性代数学科的数学思维与計算思维的联系,树立基于线性代数的知识点进行计算思维学习设计的观念,可以减少计算思维在学习中的不确定性。通过改进教学方法引导学生体会同样一个问题,使用数学思维怎样处理,使用计算思维怎样实现,让学生体会知识背后所蕴含的计算思维的规律和特点。

二、借助MATLAB,建立以工程应用为目的的实验教学

如今科学技术变化迅速、信息高度发达,需要注重培养学生把实际问题转化为数学问题然后对其求解,并加以处理解决。在新工科背景下,教学不仅要注重解释线性代数的基本概念、基本理论和基本方法,同时还要介绍新的科技成果,比如神经网络的前向传导与线性代数中连续对于向量的线性变换过程极其相似,只是在层与层之间多了非线性激活函数。而这些概念的介绍仅仅通过算式的推导、计算是极其乏味的。如果能将MATLAB引入到线性代数课堂教学中,不仅可以有效地使学生从烦琐、复杂的计算中解脱出来,还可以让学生运用MATLAB来训练神经网络,以此观察向量的线性变换过程,从而让学生发现人脑思考的过程也可以用数学来描述[3]。

传统的线性代数教学从高斯消元法到矩阵、行列式再到线性空间、二次型。而针对刚入学的一年级新生而言,他们从小一直以实用为导向,使用具体数学模型学习,这就存在一个数学思维方式的跨越问题[4]。线性代数可以从解析几何开始讲,从空间的仿射、旋转变换引入矩阵,从定向体积引入行列式,通过这一几何直观进而引入线性代数的应用[5](如文末图1所示)。

利用MATLAB的直观呈现功能,加深学生领悟矩阵概念、性质的能力,有效理解矩阵的特殊性和一般性,夯实矩阵运算的基础,激发学生学习线性代数的兴趣。比如,n阶奇幻方阵是将1,2,3,...,n2共n2个自然数排成n行n列的正方形,使得每行、每列及对角线上的n个数之和都相等。对于低阶的奇幻方阵,学生可能通过笔算还可以勉强算出,若阶数大于5阶以上,可以使用MATLAB的函数magic(n)来实现,并可以从中探索出构造成类似矩阵的规律[6]。当需要生成一组数据且符合正态分布时,可以使用函数randn(n)产生标准正态分布的随机数的矩阵。线性代数可以帮助学生建立空间概念,但现有教法却弱化三维,过分强调N维空间,全是公式,没法画图,很不利于学生接受。通过MATLAB的函数randn(d1,d2,...,dN)随机生成一个N维的张量,查看里面的数据,从而建立起N维空间的概念。

设x及y分别为n及m维向量,A为m × n矩阵,把方程Ax=y中的x看成输入变量,y看作输出变量,则这个矩阵A就执行了把x域内的向量组变成y域内向量组线性变换。这其实也实现了n维空间中图形的线性变换[7]。比如在二维平面上,直线变换后仍然为直线,三角形变换后仍然为三角形。线性变换A对x平面上不同方向的向量产生的作用是不同的。可以取x平面上的一个单位向量,让它渐渐转动,看看变换后的y=Ax如何变化。MATLAB设计了这样一个演示程序为eigshow,其输入变元是二维矩阵A。键入eigshow(A)就出现了不同的变换效果,如文末图1所示。通过这样的变换效果,促使学生建立空间图形的线性变换。

矩阵的奇异值分解(Singular Value  Decomposition,SVD)是矩阵常用的一种分解方式,它来源于矩阵利用特征值和特征向量的特征分解。SVD用来提取矩阵的主要信息(主成分),从而通过比原矩阵少的数据量,还原跟原矩阵差不多的信息,目的是减少数据的冗余,以便能够以有效的形式存储或传输数据。比如一幅768×1024×3的图像A,存储需要2,359,296个像素。对矩阵A进行SVD分解,则A=U?鄱V,如果用R来表示取?鄱中特征值的个数,那么U就为1024×R的矩阵,S为R×R的矩阵,V为1024×R的矩阵。所以存储的图像需要1024*R+R*R+1024*R个像素,如果这个R比较小,那么存儲的空间就会小很多。如果在教学中想使用这个例子来让学生理解特征值和特征向量的特征分解的话,如此大的数据使用板书呈现根本实现不了。利用MATLAB可以很方便展示图像作为一个矩阵的分解以及利用主成分的提取来压缩图像的过程,代码也非常方便实现,如下所示。

A = imread(′image.jpg′);

R=input(′需要使用的特征值=′);

for i=1 ∶ 3

[U,Sigma,V] = svd(double(A(:,:,i)));

U(:,R+1:end) = 0;  Sigma(:,R+1:end) = 0;

V(:,R+1:end) = 0;

B(:,:,i) = uint8(U*Sigma*V′);

end

imshow(B)

r=(1024*R+R*R+1024*R)*3/2359296;

title([′特征值= ′,num2str(R),′ ′,′存储空间百分比=′,num2str(r)]);

如图2所示,当我们取前面50个最大的特征值,就可以基本上还原出图像本身,但是存储空间只用到了原来图像存储的13%。

三、结论

随着教学理念的不断更新,通过线上自学、线下实践教学、线上回顾三阶段的学习以及评价体系,线性代数的翻转课堂教学模式在不断改革和创新,不仅强化了学生学习的自主性,而且突出了学生在学习过程中的主体位置,最终将学习的主动权从教师手里转移给学生。

参考文献:

[1]刘锡平,何常香,魏连鑫.新工科背景下线性代数课程教学改革的实践与探索[J].黑龙江教育(高教研究与评估),2021(4):35-36.

[2]杨威,高淑萍,陈怀琛,等.新工科背景下线性代数教学改革与探索:以国家精品在线开放课程《实用大众线性代数》为例[J].高教学刊,2020(5):8-12.

[3]孟小燕.MATLAB数学建模技术在工程数学中的应用[J].中国新通信,2019,21(16):161.

[4]杨丽萍.基于Matlab的线性代数概念教学法的研究[J].高教学刊,2020(3):98-100.

[5]寇娜.MATLAB在线性代数理论教学中应用的探索[J].教育教学论坛,2020(29):306-307.

[6]孙健,王翠芳.应用型本科线性代数教学模式的探索:基于MATLAB在解方程组中应用实践的分析[J].天津商务职业学院学报,2015,3(6):71-73.

[7]何小年,彭琼.“3E”背景下线性代数教材中引入Matlab辅助教学初探[J].科技创新导报,2018,15(30): 130-131.

[8]杨威,高淑萍,陈怀琛.慕课背景下MATLAB与线性代数应用的融合:介绍国家精品在线开放课程“实用大众线性代数(MATLAB版)”[J].高等数学研究,2019, 22(3):60-62.

编辑 司 楠

①基金项目:安徽省质量工程教学研究项目(2020jyxm1671);安徽省教学研究项目(2020jyxm1691);安徽省省级教学师范课程(2020SJJXSFK2169);淮北师范大学校级课程团队建设项目(kctdj18043);淮北师范大学教学研究校级重点项目(2018jyxm01)。

作者简介:丁文文(1976—),女,汉族,安徽滁州人,博士,副教授,研究方向:智能信息处理、机器学习。

刘子涵(1997—),男,汉族,江苏泗阳人,研究生在读,研究方向:中学数学教学。

王昌会(1996—),女,布依族,贵州贞丰人,研究生在读,研究方向:中学数学教学。

冷平(1980—),女,汉族,山东枣庄人,硕士研究生,讲师,研究方向:数学教育技术。

猜你喜欢

特征值矩阵思维
思维跳跳糖
思维跳跳糖
思维跳跳糖
思维跳跳糖
一类带强制位势的p-Laplace特征值问题
单圈图关联矩阵的特征值
初等行变换与初等列变换并用求逆矩阵
基于商奇异值分解的一类二次特征值反问题
矩阵
矩阵