APP下载

浅谈线性代数课堂中Matlab的引入

2020-04-12宫晓俊

理科爱好者(教育教学版) 2020年5期
关键词:特征向量特征值线性代数

【摘 要】线性代数是大学理工科专业和经管类专业学生必修的一门基础课,其重要内容主要包括:行列式、矩阵、向量、线性方程组、特征值与特征向量、二次型。其中特征值和特征向量理论已经广泛应用于科学技术的各个领域,不仅可以直接解决数学中诸如非线性规划、常微分方程以及其他各类数学计算问题,而且在结构力学、工程设计、计算物理和量子力学中都发挥着重要的作用。在工程计算中,求解方阵特征值是最普遍的问题之一,如动力系统和结构系统中的振动问题、电力系统的静态稳定性分析、工程设计中的某临界值的确定等,都可以归结为求解方阵特征值的问题。本文通过借助数学软件Matlab介绍如何计算特征值和特征向量。

【关键词】线性代数;Matlab;数学课堂;特征值;特征向量

【中图分类号】G642  【文献标识码】A  【文章编号】1671-8437(2020)28-0008-02

Matlab的產生与数学计算有着密切的关系。70年代中期,美国的穆勒教授及其同事在美国国家基金会的资助下,开发了线性代数的Fortran子程序库[1]。不久,他在给学生讲线性代数课时,为了让学生能使用子程序库又不至于在编程上花费过多的时间,便为学生编写了使用子程序的接口程序。他将这个接口程序取名为Mat1ab,意为“矩阵实验室”。

1   概述

矩阵计算是科学和工程计算的核心,特征值与特征向量计算是矩阵计算的基本问题之一。在教学特征值与特征向量这一章时,要先构建特征方程,通过计算化简行列式求出特征值[2]。一个n阶方阵有n个特征值,包括单特征值、重特征值和复特征值,其中复特征值是成对出现的[3]。求出特征值后,通过解特征值所对应的齐次线性方程组,求出每个特征值所对应的齐次线性方程组的基础解系,而特征向量就是基础解系的非零线性组合[4-6]。利用Matlab计算特征值和特征向量的实例如下。

2   利用Matlab求三阶方阵A的特征值及特征向量

解:命令窗口运行如下。

>> A=[8 1 6;3 5 7;4 9 2]    %生成一个3阶方阵

A =

8     1     6

3     5     7

4     9     2

>> eig(A)%求3阶方阵A的特征值

输出结果为:

ans =

15.0000

4.8990

-4.8990            %3阶方阵A的特征值分别为:15.0000,4.899, -4.8990

命令窗口运行如下。

>> [X,D]=eig(A)          %产生一个对角矩阵D,对角线为矩阵A的特征值;产生一个矩阵X,每一列为矩阵A对应的特征向量

输出结果为:

X =

-0.5774   -0.8131   -0.3416

-0.5774    0.4714   -0.4714

-0.5774    0.3416    0.8131

D =

15.0000     0         0

0        4.8990       0

0          0      -4.8990

通过运行Matlab程序,可知矩阵A有三个不同的特征值,分别为15.0000,4.8990,-4.8990。对应特征值15.0000的全部特征向量是矩阵X的第一列构成的列向量乘以非零常数K1;对应特征值4.8990的全部特征向量是矩阵X的第二列构成的列向量乘以非零常数K2;对应特征值-4.8990的全部特征向量是矩阵X的第三列构成的列向量乘以非零常数K3。

3   利用Matlab求三阶方阵B的特征值及特征向量

解:命令窗口运行如下。

>> B=[-1,1,0;-4,3,0;1,0,2]  %生成一个3阶方阵

输出结果为:

B =

-1     1     0

-4     3     0

1     0     2

命令窗口运行如下。

>> eig(B)

输出结果为:

ans =

2

1

1

命令窗口运行如下。

>> [X,D]=eig(B)

输出结果为:

X =

0       0.4082      0.4082

0       0.8165      0.8165

1.0000    -0.4082     -0.4082

D =

2         0           0

0         1           0

0         0           1

通过运行Matlab程序可知,矩阵A有一个单特征值2,一个二重特征值1,1。对应于特征值2的全部特征向量是矩阵X的第一列构成的列向量乘以非零任意常数K1;对应于特征值1的全部特征向量是不全为零的任意常数K2与K3分别乘以矩阵X的第二、三列构成的列向量的和

向量。

4   利用Matlab求三阶方阵C的特征值和特征向量

解:命令窗口运行如下。

>>  C= [0,-1,0;1,0,0;0,0,1]

输出结果为:

C =

0        -1           0

1         0           0

0         0           1

命令窗口运行如下:

>> eig(C)

输出结果为:

ans =

0 + 1.0000i

0 - 1.0000i

1.0000

命令窗口运行如下。

>> [X,D]=eig(C)

输出结果为:

X =

0.7071          0.7071            0

0 - 0.7071i     0 + 0.7071i        0

0              0              1.0000

D =

0 + 1.0000i    0                0

0              0 - 1.0000i      0

0              0              1.0000

通過运行Matlab程序可知,矩阵C有一对共轭复特征值i,-i,和一个单特征值1。对应于特征值i的全部特征向量是矩阵X的第一列构成的列向量乘以非零任意常数K1;对应于特征值-i的全部特征向量是矩阵X的第二列构成的列向量乘以非零常数K2;对应于特征值1的全部特征向量是矩阵X的第三列构成的列向量乘以非零常

数K3。

5   总结

本文介绍了利用Matlab求三阶实方阵特征值和特征向量的具体命令和方法。利用Matlab不仅可以求解教材常见的二、三阶方阵,还可以求解三阶以上的实方阵的特征值和特征向量,操作方式和例题完全类似。步骤较为简单,为学生提供了一种新的计算方法。

【参考文献】

[1]张明.《线性代数》中“特征值与特征向量”的教学创新探析[J].创新创业理论研究与实践,2019(21).

[2]同济大学数学系.工程数学[M].北京:高等教育出版社,2014.

[3]同济大学数学系.高等数学[M].北京:高等教育出版社,2014.

[4]孙培青.中国教育史[M].上海:华东师范大学出版社,2008.

[5]居余马等编著.线性代数[M].清华大学出版社,2002.

[6]戴维.C.雷.线性代数及其应用[M].机械工业出版社,2017.

【作者简介】

宫晓俊(1993~),女,汉族,山西朔州人,硕士,助教。研究方向:动力系统。

猜你喜欢

特征向量特征值线性代数
高中数学特征值和特征向量解题策略
三个高阶微分方程的解法研究
求矩阵特征值的一个简单方法
球壳区域上二阶椭圆特征值问题的一种高精度数值逼近
翻转课堂在独立院校线性代数教学中的应用研究
在线性代数课程教学中引入MATLAB的简单介绍
氨基酸序列特征向量提取方法的探讨
利用线性方程组直观理解线性代数的基本概念
提高线性代数教学质量的探索与实践
一类非线性矩阵方程组性质的研究