matlab 求矩阵秩,求矩阵秩的两种方法及MATLAB的应用

matlab 求矩阵秩,求矩阵秩的两种方法及MATLAB的应用摘要: 高等代数是一门逻辑思维比较强和理论知识比较深的学科,它具有丰富的数学知识,涉及许多重要的数学思想,其在数学领域的应用很广泛,如行列式、矩阵的相关计算和求解线性方程组的解方面的应用等,求矩阵的秩运算是矩阵研究的一个重要内容,此外数学软件MATLAB在矩阵计算方面也提供了很多方法,本文主要介绍应用MATLAB求矩阵的秩运算的方法。关键词: 矩阵;秩;高等代数;MAT…

大家好,又见面了,我是你们的朋友全栈君。

摘    要: 高等代数是一门逻辑思维比较强和理论知识比较深的学科, 它具有丰富的数学知识, 涉及许多重要的数学思想, 其在数学领域的应用很广泛, 如行列式、矩阵的相关计算和求解线性方程组的解方面的应用等, 求矩阵的秩运算是矩阵研究的一个重要内容, 此外数学软件MATLAB在矩阵计算方面也提供了很多方法, 本文主要介绍应用MATLAB求矩阵的秩运算的方法。

关键词: 矩阵; 秩; 高等代数; MATLAB;

4bb4d1b82db2c2ac8966ba4cde242ab1.png

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) ;

c2a54848d382b303407c2ba1c8b2b38e.png

执行命令后, 在窗口中显示的结果就是所求矩阵的秩。

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:求矩阵的秩。

114af034ca9bbbcb3bc50312fdd7e36f.png

即可得矩阵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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139175.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 递归和迭代有什么区别?

    递归和迭代有什么区别?“递归”和“迭代”的区别如下:1、递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合。2、迭代:利用变量的原值推算出变量的一个新值.如果递归是自己调用自己的话,迭代就是A不停的调用…

    2022年6月6日
  • MessageDigest类的使用

    MessageDigest类的使用随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)在前面java中的MessageDigest类中简要介绍了它的一些作用和方法,下面给个例子,对文件和字符串MD5分别给了两个例子,代码如下:packagecom.home;importjava.io….

    2022年6月17日
  • python 字符串 转义_python转义字符怎么用

    python 字符串 转义_python转义字符怎么用问题与背景python的字符串控制,有时候自动转义会带来很多问题,比如文件路径因为转义变得有异常,json字符串塞进json串中之后,自动的对引号加转义斜杠等,整理一下踩的一些坑。参考资料https://www.cnblogs.com/klobohyz/archive/2012/06/04/2535057.htmlpython使用r进行不转义字符串https://www.cnblogs.com/itdyb/p/5046415.htmlPython中的repr()函数解决方案与案例字

    2022年11月3日
  • mysql tinytext_给学生提供什么类型的输入

    mysql tinytext_给学生提供什么类型的输入除了CHAR和VARCHAR字符类型时,MySQL为我们提供了TEXT具有更多的功能,其类型CHAR和VARCHAR不能覆盖。的TEXT是用于存储可以采取从1个字节到4GB长格式文本字符串是有用的。我们经常会TEXT在新闻站点中找到用于存储文章正文的数据类型,在电子商务站点中会找到产品描述的数据类型。与CHAR和不同VARCHAR,在TEXT为列使用类型时不必指定存储长度。另外,在检索或插入文本数据(如CHAR和)时,MySQL不会删除或填充空格VARCHAR。请注意,TEXT数据未存储在数据库服

    2022年8月13日
  • c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法

    c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法ExecuteNonQuery方法主要用来更新数据。通常使用它来执行Update、Insert和Delete语句。该方法返回值意义如下:对于Update、Insert和Delete语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为-1。Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下:(1)创建数据库连接。(2)创建Command…

    2022年9月12日
  • MyBatis学习总结(5)——实现关联表查询

    MyBatis学习总结(5)——实现关联表查询

    2021年7月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号