第3章 3.4.2 算术运算(MATLAB入门课程) 讲解视频:可以在bilibili搜索“MATLAB教程新手入门篇——数学建模清风主讲”。
MATLAB的基本算术运算符有:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)和’(转置),下面我们分别进行介绍。 首先是矩阵的加法。在线性代数中,只有两个大小完全相同的矩阵才可以进行相加运算,而在MATLAB中,只要两个矩阵的大小兼容,就能够进行计算。 以矩阵的加法为例,下表我们给出了MATLAB支持的五种算术运算的兼容模式:
事实上,执行加法运算时,MATLAB会将大小兼容的矩阵隐式扩展为相同的大小,然后再将对应位置的素相加,这种计算方式在MATLAB中称为“按对应位置的素运算”。我们在上一节介绍的min函数和max函数在计算两个矩阵对应位置素的最小值和最大值时也支持上表五种模式。 类似的,矩阵的减法也支持上表五种兼容模式,其计算方式也是“按对应位置的素运算”,我们看下面的例子:
矩阵的乘法则有所不同,在MATLAB中,矩阵的乘法分为两种:第一种是线性代数中定义的矩阵的乘法,使用的运算符号是乘号“*”,例如矩阵A*B,矩阵的乘法必须要满足前面矩阵A的列数和后面矩阵B的行数相等;第二种是按对应位置的素相乘,我们需要使用运算符号点乘“.*”,例如A.*B,此时A和B的大小只需要满足上方表格介绍的五种兼容模式。特别地,如果一个矩阵和标量(常数)相乘,那么使用乘号“*”和点乘“.*”得到的结果相同。
下面我们再来介绍矩阵的除法。事实上,在我们学的线性代数中,矩阵并不支持除法的运算,但MATLAB中定义了矩阵除法的计算规则。 在MATLAB中,除号有两种,分别是 / (右除)和 (左除),命令“x = B/A”表示对线性方程组x*A = B求解x;命令“x = AB”则表示对线性方程组A*x = B求解x。这两个符号使用频率很低,大家不需要强记,需要用时查询即可。 我们平时使用更多的是对矩阵进行点除的操作,即将两个矩阵按对应位置的素做除法。其中命令“Ahttps://www.bilibili.com/read/B”表示用A的每个素除以B的对应素,A和B的大小必须兼容;命令“A.B”则表示用B的每个素除以A的对应素,这个用法不太符合我们的习惯。因此,大家只需要掌握“Ahttps://www.bilibili.com/read/B”的用法即可。
特别地,如果B是标量,那么Ahttps://www.bilibili.com/read/B的结果和A/B的结果相同。 矩阵的乘方也有两种用法,分别是“^”和“.^”。 其中,“^”表示矩阵的幂运算,例如A是一个方阵,那么A ^ 3等价于A*A*A;“.^”表示对矩阵中的每一个素分别进行乘方计算,例如A .^ 0.5表示对矩阵A中的每一个素开根号,等价于sqrt(A)。
特别地,如果A是一个可逆的方阵,那么A^(-1)可用来计算A的逆矩阵(inverse matrix)。另外,MATLAB中的inv函数也可以计算逆矩阵,它们的计算结果相同。
根据线性代数中逆矩阵的定义,互为逆矩阵的两个矩阵的乘积为单位矩阵(主对角线为1,其余位置为0的方阵),我们通过上表的第三行代码验证了这一点。注意:由于浮点数运算的误差,计算结果中的素可能和0或1有微小的差异,我们使用format long g命令显示更多的小数点:
例如第一行第二个素,理论上应为0,但MATLAB计算结果约为
当然,通常情况下我们的矩阵中全是实数,那么使用“ ’ ”和“ .’ ”的效果相同。 学完了矩阵的算术运算后,我们来做一些练习。 (1)计算用来评价预测效果好坏的一些指标 假设真实值是向量










参考答案如下:不熟练的同学请看配套的视频讲解,视频中讲解的很详细:
下一篇文章:
更多文章可下方合辑: MATLAB教程合辑
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/79788.html