大家好,又见面了,我是你们的朋友全栈君。
摘 要: 高等代数是一门逻辑思维比较强和理论知识比较深的学科, 它具有丰富的数学知识, 涉及许多重要的数学思想, 其在数学领域的应用很广泛, 如行列式、矩阵的相关计算和求解线性方程组的解方面的应用等, 求矩阵的秩运算是矩阵研究的一个重要内容, 此外数学软件MATLAB在矩阵计算方面也提供了很多方法, 本文主要介绍应用MATLAB求矩阵的秩运算的方法。
关键词: 矩阵; 秩; 高等代数; MATLAB;
1、 矩阵秩的基础理论及在现性方程组上的应用
1.1、 矩阵秩的理论知识
定义1:一个矩阵中不等于零的子式的最大阶数称为该矩阵的秩, 若一个矩阵没有不等于零的子式, 就说明这个矩阵的秩是零。
定义二:矩阵的最大阶非零的子式的阶数就称为矩阵的秩;矩阵的行向量的秩等于矩阵列向量的秩等于矩阵的秩。
定理:矩阵的秩是n的充分必要条件是矩阵中存在一个n阶子式不等于零而且其一切的n+1阶子式都等于零[2]。
1.2、 矩阵秩在解方程上的应用:
设非齐次现性方程组AX=b (1)
齐次现性方程组AX=0 (2)
其中把线性方程组的系数矩阵用A表示, 方程组的个数设为n个, 令R (A) 为矩阵A的秩, R (A, b) 为增广矩阵的秩, 在判断方程组 (1) 和 (2) 的解为无解、唯一解或多解时, 可以通过判断方程组的系数矩阵的秩、增广矩阵的秩及方程个数之间的关系来判断。在解方程组时, 我们一般先判断现性方程组是否存在解, 如果不存在解, 则直接可以停止计算, 得出结论;在方程组有解的情况下再进一步判别方程组是存在独一无二的解还是无穷多解, 这样可以省去许多不必要的计算过程。当R (A) ≠R (A, b) 时, 即系数矩阵与增光矩阵的秩不相等, 方程组 (1) 和 (2) 都不存在解;当R (A) =R (A, b) =n时, 方程组 (1) 只可能有一个零解, 方程组 (2) 有唯一非零解X=A-1b;当R (A) =R (A, b)
2、 求矩阵秩的两种方法
在高等代数中, 与矩阵有关的计算主要涉及几个方面, 如求行列式的值, 求矩阵的秩、矩阵的逆、转置、加、减、乘运算, 矩阵LU等分解, 求矩阵特征值、特征向量, 方程组解等问题。1) 求矩阵A中不等于0的子式的最高阶数。这种方法对于行数和列数较低时, 计算量不大, 但当矩阵的行数与列数较高时, 按定义的方法求矩阵的秩时计算量就大大增加了, 计算过程变得很复杂;关于相对直观的阶梯型矩阵而言, 能够很直观得出矩阵的秩就是非零行的行数。一般情况下, 不建议采用定义法求解矩阵的秩。2) 矩阵的初等变换法:对矩阵实行初等变换时不会改变矩阵秩的大小, 对于任意的一个矩阵, 我们能够对其做适当的初等变换, 将其化解为比较简单的阶梯型矩阵, 化解措施为:一是可以对矩阵的行做任意两行的交换或列之间的交换 (互换性) ;二是用一个数乘矩阵中的某一行或列, 即用一个数乘矩阵的某一行 (列) 的每一个元素 (倍乘型) ;三是用某一数乘矩阵的某一行或列后再加到另一行或列, 即用某一个数乘矩阵的某一行 (列) 的每一元素后再加到另一行 (列) 与之对应的元素上 (倍加型) 。通过三种初等变换, 最后能够把矩阵化解为一个简单的阶梯型矩阵, 其中非零的最大阶数就是所求矩阵的秩。其中用来乘矩阵的数最好是非零的, 如果该数为零, 则相当于没做运算, 操作没意义。
3、 应用MATLAB求解矩阵的秩
当今, 数学软件MATLAB的应用已经变得越来越广泛, 被大多数行业的人所使用。MATLAB的用途可以表现在很多领域, 如数值分析、工程与科学绘图、科学计算、仿真、信息处理、建模, 矩阵的相关计算等诸多领域。在高等代数中, MATLAB的运用也很普遍, 本节主要以求矩阵的秩为例, 介绍利用MATLAB来求解矩阵的秩的一种简便方法。其步骤如下:在窗口中按行、自左至右依次输入元素;
矩阵中的元素对与不同的行而言, 行与行之间必须用分号隔开, 以达到换行的目的, 对同一行元素而言, 元素之间用空格、逗号隔开;
求矩阵的秩的命令是rank (A) ;
执行命令后, 在窗口中显示的结果就是所求矩阵的秩。
1) 初等变换法, 通多多次应用矩阵的三种初等变换, 将矩阵化为阶梯型。2) 用MATLAB求解, 在MATLAB中输入矩阵A
A=[1, -2, 1, -1, 1;2, 1, -1, 2, -3;3, -2, -1, 1, -2;2, -5, 1, -2, 2], 再调用命令R (A) =rank (A) , 执行结果为rank (A) =3;
例3:求矩阵的秩。
即可得矩阵B的秩4
在MATLABZ中输入矩阵B=[0, 1, 1, -1, 2;0, 2, -2, -2, 0;0, -1, -1, 1, 1;1, 1, 0, 1, -1];
即R (B) =4;
4、 结束语
高等代数是一门培养数学思想的重要学科, 它包含大量的数学知识、数学思想以及处理数学问题的技能等。其中涉及矩阵的相关运算是高等代数的所研究的方向之一, 利用矩阵的秩解决高等代数中的方程组减少许多计算的流程, 从而提高我们计算的效率。此外, 软件MATLAB在高等代数中的应用也很广泛, 如求矩阵的秩、行列式、矩阵的逆, 现性方程组解等, 如果借助数学软件Matlab来辅助解决高等代数中的许多问题, 能够大大提高处理数学问题的效率。
参考文献:
[1]王萼芳, 石生明.高等代数.3版.[M].北京:高等教育出版社, 2003.
[2]孙霞, 王新民.分块初等变换在矩阵的秩中的应用[J].聊城大学学报 (自然科学版) , 2015, 28 (02) :29-33.
[3]左可正.关于若干个矩阵和的秩等式与不等式[J].湖北师范学院学报 (自然科学版) , 2010, 30 (01) :1-4
[4]罗雪梅, 孟艳双, 郑艳琳.浅析矩阵的秩[J].高等数学研究, 2003 (2) :2.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139175.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...