目录

矩阵的秩

矩阵A与B的和与差

矩阵的数乘

矩阵A与B的乘积

转置矩阵

伴随矩阵

可逆矩阵:

简化行阶梯(行最简)矩阵

矩阵A的n次方


矩阵的秩

先看一下矩阵的秩的定义,摘自百度百科。

方阵(行数、列数相等的矩阵)的列秩和行秩总是相等的,因此它们可以简单地称作矩阵A。通常表示为r(A),rk(A)或rank(A)。

m × n矩阵的秩最大为mn中的较小者,表示为 min(m,n)。有尽可能大的秩的矩阵被称为有满秩;类似的,否则矩阵是秩不足(或称为“欠秩”)的。

设A是一组向量,定义A的极大无关组中向量的个数为A的秩。

定义1. 在m*n矩阵A中,任意决定α行和β列交叉点上的元素构成A的一个k阶子矩阵,此子矩阵的行列式,称为A的一个k阶子式。

例如,在阶梯形矩阵中,选定1,3行和3,4列,它们交叉点上的元素所组成的2阶子矩阵的行列式 就是矩阵A的一个2阶子式。

定义2. A=(aij)m×n的不为零的子式的最大阶数称为矩阵A的秩,记作rA,或rankA或R(A)。

特别规定零矩阵的秩为零。

即存在r阶子式不为0,任意r+1阶子式(若还有)必全为0。

显然rA≤min(m,n) 易得:

若A中至少有一个r阶子式不等于零,且在r<min(m,n)时,A中所有的r+1阶子式全为零,则A的秩为r。

由定义直接可得n阶可逆矩阵的秩为n,通常又将可逆矩阵称为满秩矩阵, det(A)≠0;不满秩矩阵就是奇异矩阵,det(A)=0。

由行列式的性质知,矩阵A的转置AT的秩与A的秩是一样的,即rank(A)=rank(AT)。

MATLAB求解矩阵的秩:

>> A=[1 2 3;4 5 6;7 8 9]A =1     2     34     5     67     8     9>> rank(A)ans =2

矩阵A与B的和与差

相加和相减。相同维数的矩阵可以相加或相减。对如下矩阵:

>>     A=[2 3;4 5;6 7]A =2     34     56     7>> B = [1 0;2 3;0 4]B =1     02     30     4>> A+Bans =3     36     86    11>> A-Bans =1     32     26     3

矩阵的数乘

>> A=[2   3;4 5;6 7]A =2     34     56     7>> 5*Aans =10    1520    2530    35

矩阵A与B的乘积

进行矩阵的乘积运算,第一个矩阵中的列数与第二个矩阵中的行数必须相等。

注意:矩阵相乘不满足交换定理。

>> A=[2   3;4 5;6 7];
>> B=[1 0 2;3 0 4];
>> A*Bans =11     0    1619     0    2827     0    40

如果第一个矩阵中的列数与第二个矩阵中的行数不相等相等,那么矩阵A与B相乘会报错。

>> A=[2    3;4    5;6    7];
>> B = [1 0;2 3;0 4];
>> A*B
错误使用  * 
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.*'。

MATLAB给出点乘的提示。矩阵的点乘满足交换律。

矩阵的点乘则必须满足:矩阵A点.*矩阵B,矩阵A和矩阵B的行数和列数必须相等(就是说矩阵A的行数等于矩阵B的行数,矩阵A的列数等于矩阵B的列数),方法是对应每个元素相乘,相乘得到的最终结果为和矩阵A和矩阵B相同维度的矩阵。

>> A=[2   3;4 5;6 7];
>> B = [1 0;2 3;0 4];
>> A.*B  %即2=2*1,0=3*0,8=4*2ans =  2     08    150    28

叉乘和点乘是两种不同的运算。

点乘,也叫数量积。结果是一个向量在另一个向量方向上投影的长度,是一个标量。

叉乘,也叫向量积。结果是一个和已有两个向量都垂直的向量。

(4 条消息) 点乘和叉乘的区别是什么? - 知乎 (zhihu.com)(4 条消息) 点乘和叉乘的区别是什么? - 知乎 (zhihu.com)

转置矩阵

A =1     2     34     5     67     8     9>> B=A'B =1     4     72     5     83     6     9

伴随矩阵

运用adjoint()函数,意为伴随。

 A=[1 2;3 4]A =1     23     4>> adjoint(A)ans =4.0000   -2.0000-3.0000    1.0000>> A=[1 2 3;4 5 6;7 8 9]A =1     2     34     5     67     8     9>> adjoint(A)ans =-3.0000    6.0000   -3.00006.0000  -12.0000    6.0000-3.0000    6.0000   -3.0000

对于可逆矩阵或非奇异矩阵,可采用下面这种方法:

>> A=[1 3;1 2];
>> inv(A)*det(A)ans =2    -3-1     1

可逆矩阵:

根据线性代数矩阵的一些重要性质:

那么可逆矩阵指的都是n阶方阵且行列式不等于0

>> A=[1 3;1 2];
>> inv(A)ans =-2     31    -1>> A*ansans =1     00     1

或者采用这种方法:

>> A=[1 3;1 2]A =1     31     2>> A^-1ans =-2     31    -1

某些情况下会出现行列式为零,竟然可以求解逆矩阵?的情况,原因一般是inv()函数算法精度不够的问题;亦或者是行列式结果看起来为零未必真为零,可能只是很小的数值,比如在command window里默认只显示了几位小数,看起来结果是0.0000(MATLAB默认显示四位小数),但实际上并不一定为0。

inv是数值计算,会受到精度影响,尤其是比较大的矩阵
另外,matlab更推荐使用左除和右除来避免使用inv函数

>> a = [1,2;3 4];
b = [3,4;5,6];
>> a*inv(b)ans =2.0000   -1.00001.0000    0.0000>> a/b  %实际工程应用中一般选择这种方式,运算结果更加准确ans =2.0000   -1.00001.0000   -0.0000

简化行阶梯(行最简)矩阵

A =1     2     34     5     67     8     9>> B=rref(A)B =1     0    -10     1     20     0     0

对于非方阵也可以用rref()命令简化行阶梯矩阵;

>> A = magic(3);
A(:,4) = [1; 1; 1]A =8     1     6     13     5     7     14     9     2     1>> R = rref(A)R =1.0000         0         0    0.06670    1.0000         0    0.06670         0    1.0000    0.0667

矩阵A的n次方

>> A=[0 0 0;2 0 0;1 3 0]A =0     0     02     0     01     3     0>> A^2ans =0     0     00     0     06     0     0>> A^3ans =0     0     00     0     00     0     0

我是小韩每天进步一点点,一名研0的研究生,刚开始写博客。希望和大家多多交流,一起进步!

求朋友点赞、收藏、关注哈,鼓励一下新人博主,或者提出建议!

应用MATLAB求解线性代数题目(二)——矩阵相关推荐

  1. 应用MATLAB求解线性代数题目(四)——线性方程组

    目录 求解齐次线性方程组 求解非齐次线性方程组 同解方程组 向量形式.矩阵形式的方程组 则线性表出的问题可以通过方程组求解. 求解齐次线性方程组 求齐次线性方程组的基础解系的命令: B=null(A) ...

  2. 应用MATLAB求解线性代数题目(一)——行列式

    MATLAB是基于矩阵的.用于进行数学和工程计算的系统.我们可以将MATLAB设想成某种技术计算的语言.MATLAB处理的所有变量都是矩阵.所以,运用MATLAB可以轻松地解决一些线性代数题目. 行列 ...

  3. 应用MATLAB求解线性代数题目(三)——n维向量

    目录 判定线性相关并给出极大无关组 向量空间--维数 size()函数 判定线性相关并给出极大无关组 MATLAB中没有直接判定线性相关并给出极大无关组. 根据线性代数的知识,先求出秩,根据秩的大小与 ...

  4. 应用MATLAB求解线性代数题目(三)——n维向量和矩阵的基本语法

    向量的定义 向量就是只有一行或者一列的特殊矩阵,而矩阵包含向量. 在 MATLAB 中,一维数组就是向量,二维数组就是矩阵. 1) 直接输入向量 >> a=[1,3,2,4]a =1 3 ...

  5. 用matlab求解线性代数方程组,线性代数方程组数值解法与MATLAB实现综述

    线性代数方程组数值解法及MATLAB 实现综述 廖淑芳 20122090 数计学院 12计算机科学与技术1班(职教本科) 一.分析课题 随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算 ...

  6. MIT线性代数笔记二 矩阵消元

    文章目录 1. 消元 Elimation 2. 回代 Back-Substitution 3. 消元矩阵 Elimination Matrices 4. 置换矩阵 Permutation 5. 逆矩阵 ...

  7. Matlab与线性代数 -- 数组与矩阵的乘幂

    本微信图文详细介绍了数组的乘幂运算power()与矩阵的乘幂运算mpower().

  8. Matlab与线性代数 -- 全1矩阵

    打磨一项技能最需要的就是耐心,我们知道做一件事情不会一蹴而就,需要长时间的积累.关于Matlab的打磨会持续很长的时间,每天学习一个知识点,一年下来就不得了.要有耐心,要有耐心,跟着我们每天花5分钟的 ...

  9. matlab求解参数线性规划问题,实验三十用MATLAB求解线性规划问题

    <实验三十用MATLAB求解线性规划问题>由会员分享,可在线阅读,更多相关<实验三十用MATLAB求解线性规划问题(27页珍藏版)>请在人人文库网上搜索. 1.实验三十 用MA ...

最新文章

  1. Self20171218_TestNG+Maven+IDEA环境搭建
  2. CMakeListx.txt 编辑语法学习
  3. Pycharm详细安装教程
  4. jquery ajax异步调用
  5. 大厂Java初级开发工程师!!!面试必问项之Set实现类:TreeSet
  6. python代码运行到一半终止_Python 程序运行时卡住,既不报错,也不停止,也不动,是什么原因?...
  7. 【英语学习】【WOTD】zero-sum 释义/词源/示例
  8. 风起云涌、战火通明,2019 年云计算大盘点
  9. mysql数据库是以表为单位存储的,创建一个以数据库名称为参数的MySQL存储过程,以列出具有特定数据库中详细信息的表。...
  10. 30天自制操作系统 定时器
  11. C++/CLI学习入门
  12. # java 核心技术卷1 (原书第11版)通读 第一章:java的基本程序设计结构
  13. 医学超声成像—合成孔径法(Synthetic Aperture Methods)[3]
  14. 柯美服务器处理文件慢,处理打印机在打印文件时打印速度过慢的原因 看完你就知道了...
  15. 2022: LAVT: Language-Aware Vision Transformer for Referring Image Segmentation
  16. Javaweb开发学习笔记(三)
  17. java网课|匿名对象Random对象数组
  18. Win11打印机无法打印怎么办?Win11打印机无法打印解决方法
  19. 前端性能优化基础知识--幕课网
  20. java tailer apache_工具类commons-io的Tailer用来监控文件

热门文章

  1. Multiple Landmark Detection using Multi-AgentReinforcement Learning基于多智能体强化学习的多重地标检测
  2. unbind hover in jQuery
  3. UE5的Lumen和传统光线追踪对比,哪个更好?
  4. vue移动端ui框架vant如何自定义引入阿里巴巴图标库
  5. php实现彩票走势图组选图用颜色区分
  6. 压缩包需要计算机管理员权限,压缩文件删除不了要访问权限解决方法
  7. 好用的word转换成pdf转换器!你值得拥有
  8. vue element上一步下一步跳转
  9. 寒假来了,孩子学英语必看的8部动画!(内附资源)
  10. SOLIDWORKS 无法设置中文语言的解决办法