APP下载

MATLAB在线性代数教学中的应用

2015-03-27刘春霞

关键词:行列式线性方程组例子

刘春霞

(青岛理工大学 琴岛学院,山东 青岛 266106)

MATLAB在线性代数教学中的应用

刘春霞

(青岛理工大学 琴岛学院,山东 青岛 266106)

结合线性代数教学的现状,将Matlab软件引入教学中,举例说明其在矩阵、线性方程组等方面的应用,以期增加学生学习兴趣,提高教学效率.

Matlab; 线性代数; 矩阵; 线性方程组

0 引言

线性代数[1]是理工科专业学生必修的一门公共基础课,它对于各专业后续课程的学习非常重要.现在线性代数教学中存在这样几个问题:第一,内容比较多,比较抽象,难于理解,有的学校由于课时少只能讲解行列式、矩阵、线性方程组等部分内容,对于后面矩阵的特征值、二次型等比较重要的内容只能省略不讲;第二,讲课过程中只能讲解小型的例子,对于大型的例子没法手工计算,手工计算太浪费时间,比如讲解行列式的计算、矩阵求逆、解线性方程组等时我们一般讲解三阶或四阶的例子,对于五阶以上的很少涉及;第三,课程抽象难懂,枯燥无味,计算比较繁琐,有时只是机械重复.鉴于此,我们可以尝试将Matlab[2-3]软件引入课堂中,在讲课过程中讲清理论知识,计算方法,举小型例子加以说明理解,然后对大型问题用Matlab软件[4]解决.

本文仅列举几个简单的例子说明Matlab在线性代数教学中的应用.

1 矩阵

矩阵的各种运算有各自具体的计算方法,但一般较繁琐,在Matlab中矩阵的定义及各种计算只需要一个命令即可实现.如定义矩阵:将矩阵的元素排在[]中,同一行的元素之间用","或空格进行分隔,行与行之间用";"进行分隔即可.

1.1 矩阵基本运算

1.1.1 乘法

进行乘法运算时要求:只有当左边矩阵的列数等于右边矩阵的行数时,两个矩阵才能进行乘法运算;矩阵的乘法一般不满足交换律,即AB≠BA[1].

例1 已知A,B同上例,求A3,AB,BA.

1.1.2 转置

把矩阵A的行换成同序数的列得到的新矩阵,称为A的转置矩阵[1].

例2 已知A同例1,求AT.

1.1.3 方阵的行列式

由n阶方阵A的元素所构成的行列式(各元素的位置不变),称为方阵A的行列式,记作|A|或det(A)[1].

例3 已知同例1,求|A|.

解 >>det(A), ans=-799

1.2 逆矩阵

矩阵的逆矩阵在线性代数教学中是非常重要的,常用的求逆矩阵的方法有定义法(待定系数法)、伴随矩阵法、初等行(列)变换法,当矩阵的阶数稍微变大,计算量就变得相当大,而用Matlab软件只需要一个简单的命令就能轻松解决.

例4 已知A同例1,求A-1.

解>>inv(A)

1.3 矩阵的秩

矩阵的秩是指矩阵中最高阶非零子式的阶数,通常求矩阵的秩用初等变换法,少数用定义来计算.

例5 已知A同例1,求r(A).

解>>rank(A), ans=5

1.4 矩阵的行最简形

利用行最简形可以判断矩阵是否可逆,求矩阵的秩,向量组的秩,判断线性方程组有无解,在有解的情况下写出解,通常用初等行变换法将矩阵化为行最简形.

例6 已知A同例1,求A的行最简形.

解>>rref(A)

1.5 矩阵的迹

矩阵的迹是指主对角线上元素的和.

例7 已知A同例1,求A的迹.

解>>trace(A), ans=-2

1.6 矩阵的特征值、特征向量

利用矩阵的特征值、特征向量可以判断矩阵能否对角化,但求法比较繁琐.

例8 已知A同例1,求A的特征值、特征向量.

解>>[V,D]=eig(A)

D是特征值矩阵,主对角线上的元素是特征值,V是特征向量矩阵,并且与中的特征向量相互对应.

2 线性方程组

求解线性方程组是线性代数的基础、中心问题,贯穿该课程的始终.求解线性方程组的方法有高斯消元法、克莱姆法则、逆阵乘积法、初等变换法等.消元法是中学的知识这里不再讨论,就后面的3种常用方法举例说明.

例9 解线性方程组

解法1 克莱姆法则

>>A=[0,4,5,-1,2;-5,0,2,0,1;7,2,0,3,-4;-3,1,-1,-5,0;2,-3,0,1,3];

>>A1=[0,4,5,-1,2;2,0,2,0,1;6,2,0,3,-4;-8,1,-1,-5,0;5,-3,0,1,3];

>>A2=[0,0,5,-1,2;-5,2,2,0,1;7,6,0,3,-4;-3,-8,-1,-5,0;2,5,0,1,3];

>>A3=[0,4,0,-1,2;-5,0,2,0,1;7,2,6,3,-4;-3,1,-8,-5,0;2,-3,5,1,3];

>>A4=[0,4,5,0,2;-5,0,2,2,1;7,2,0,6,-4;-3,1,-1,-8,0;2,-3,0,5,3];

>>A5=[0,4,5,-1,0;-5,0,2,0,2;7,2,0,3,6;-3,1,-1,-5,-8;2,-3,0,1,5];

>>x1=det(A1)/det(A),x1=0.6871

>>x2=det(A2)/det(A),x2=-3.7960

>>x3=det(A3)/det(A),x3=3.9512

>>x4=det(A4)/det(A),x4=-0.3617

>>x5=det(A5)/det(A),x5=-2.4668

Ai是把系数矩阵A的第i列元素对应地换成常数项,而其余各列保持不变所得到的行列式[1].

解法2 逆阵乘积法

>>A=[0,4,5,-1,2;-5,0,2,0,1;7,2,0,3,-4;-3,1,-1,-5,0;2,-3,0,1,3];

>>b=[0;2;6;-8;5];>>X=inv(A)*b

由此,得到线性方程组的解为x1=0.6871,x2=-3.7960,x3=3.9512,x4=-0.3617,x5=-2.4668.

解法3 初等变换法

>>A=[0,4,5,-1,2;-5,0,2,0,1;7,2,0,3,-4;-3,1,-1,-5,0;2,-3,0,1,3];

>>b=[0;2;6;-8;5];>>rref([Ab])

从增广矩阵的行最简形得到方程组的解为x1=0.6871,x2=-3.7960,x3=3.9512,x4=-0.3617,x5=-2.4668.

3 结语

将Matlab软件引入线性代数课堂中可以调动学生学习的积极性,提高学习兴趣,使得枯燥的课程变得生动有趣;生活中大型的例子也可以引进课堂,不用害怕引入后解决的难度,不论规模的大小只需一个命令即可;学习线性代数的同时也熟悉了一门软件,使得学生对这门软件有所了解,对后续与这门课有关的课程有一定的帮助.

[1]吴赣昌.线性代数[M].3版.北京:中国人民大学出版社,2009:21-43.

[2]章栋恩,马玉兰,徐美萍,等. MATLAB高等数学实验[M].北京:电子工业出版社,2008:127-155.

[3]梅志红,杨万铨.MATLAB程序设计基础及其应用[M].北京:清华大学出版社,2005:33-61.

[4]魏凤英.基于矩阵求逆谈高等代数中的计算及MATLAB实现[J].长春大学学报,2013,23(10):1279-1281.

[5]李大潜.素质教育与数学教学改革[J].中国大学教学,2000(3):9-11.

[责任编辑:李春红]

2015-04-04

刘春霞(1981-),女,山东滨州人,讲师,硕士,研究方向为高等数学教学. E-mail:122257526@qq.com

O175.6

:A

:1671-6876(2015)03-0248-04

猜你喜欢

行列式线性方程组例子
一类整系数齐次线性方程组的整数解存在性问题
求解非线性方程组的Newton迭代与Newton-Kazcmarz迭代的吸引域
范德蒙德行列式在行列式计算中的应用
行列式解法的探讨
《团圆之后》:“戏改”的“一个鲜明的例子”
加项行列式的计算技巧
缩宫素联合米索前列醇防治90例子宫收缩乏力性产后出血临床观察
保护私有信息的一般线性方程组计算协议
基于Matlab实现线性方程组的迭代解法
一类矩阵行列式的构造计算方法