学习素材:MATLAB教程_台大郭彦甫(14课)原视频补档
MATLAB教程_台大郭彦甫(14课)原视频补档_哔哩哔哩_bilibili
(部分素材使用视频截图)
目录
一、基本运算
二、关键字
三、"format"
四、符号
1.“;”
2.":"(colon operator)
五、关于矩阵
1.a=(3,:)用此方法来表示矩阵的某一行
2.增广矩阵
3.矩阵的运算
4.特殊矩阵
5.matlab中几个封装的矩阵运算函数
6.索引矩阵中的元素
一、基本运算
matlab中在命令窗口中直接输入算式,按回车键即可出结果,此法除了应用于基本运算也可应用在矩阵运算上,非常方便
![](https://img-blog.csdnimg.cn/3fc8ea2f693e4a489766fb3cd54516e3.png)
在进行基本运算时,难免遇到特殊的属性符号如:e,ln等
此时可以借助搜索栏进入Documentation检索,如搜索自然对数log
![](https://img-blog.csdnimg.cn/a16e6e902e7c4017b3c72be2d53c9a58.png)
![](https://img-blog.csdnimg.cn/b035130736c5476e8e6b531da0c5e5be.png)
Documentation链接:Documentation - MATLAB & Simulink - MathWorks 中国
二、关键字
在命令行窗口输入>> iskeyword即可查看关键字
![](https://img-blog.csdnimg.cn/92fe0094e903420b894a4b7da3fe117d.png)
常用关键字:
ans
i,j :complex number(复数)
inf/Inf: 无穷大
eps:(自然数e):2.2204e-016
NaN:not a number
pi Π
注:
如果把关键字赋值,就把关键字变成了variable,matlab不会报错,但再使用原来的意义时会报错
原因:varible的priority比keyword高
解决使用clear keyword清除即可
matlab在定义variable时无需给定数据类型,默认为double,且输出时保留小数4位
可使用format+类型对输出格式进行设置
![](https://img-blog.csdnimg.cn/192be8c681284e7a87f7910ed25a7bb3.png)
四、符号
1.“;”
在命令行窗口中输入算式后按回车即可得到ans,但有时我们并不需要每次都有ans,此时可以在语句后加“;”来屏蔽ans
![](https://img-blog.csdnimg.cn/89b0c8657bdc4b2c9c8a6e29cc20e07b.png)
2.":"(colon operator)
a=1:100是a=1,2,3.......100的简便写法
a=起始:步长:终止
其中步长可省略默认为1
五、关于矩阵
1.a=(3,:)用此方法来表示矩阵的某一行
因此要删除矩阵a的第三行即为:
![](https://img-blog.csdnimg.cn/b71328fd4f184292bda13d5919f97d26.png)
2.增广矩阵
有矩阵A,B,用F存储A,B的增广矩阵即为:F=[A,B]
此外:F=[A:B]表示F为从A的第一个元素到B的第一个元素
![](https://img-blog.csdnimg.cn/6a7176c9779543abbc0a71ed80ae68ff.png)
3.矩阵的运算
![](https://img-blog.csdnimg.cn/22739b453b414bc88384ca22a261edde.png)
A.*B
A,B对应的元素相乘
同样的:A./B为A,B矩阵对应元素相除
![](https://img-blog.csdnimg.cn/9f1baac96457464f93546366959d7e45.png)
A/B
等价于A*inv(B)
A右乘B的逆矩阵
A\B
A左乘B的逆矩阵
![](https://img-blog.csdnimg.cn/0c2f1525166441cd9a51a04c1a1acbac.png)
A+a
矩阵A中的每个元素加a
A/a相当于A./a
矩阵中每个元素都除a
![](https://img-blog.csdnimg.cn/d1205971f2d5442e9359f4f123f23283.png)
A^a:A的a次方
A.^a:A中的每一个Array都取a次方
A':A的转置
![](https://img-blog.csdnimg.cn/bbd56e0130b94747aecfebadd9ef7c0c.png)
4.特殊矩阵
![](https://img-blog.csdnimg.cn/65aebcbca25f4520ba9da33f8e08a263.png)
eye(n):n阶单位矩阵
zero(n1,n2):n1*n2的零矩阵
ones(n1,n2):n1*n2的全为1矩阵
diag() 如:diag(【2,3,4】):对角矩阵
5.matlab中几个封装的矩阵运算函数
![](https://img-blog.csdnimg.cn/2c878b1c23ae424a85f4b91f06f789c8.png)
max(A)
找矩阵中每一列的最大Array
max(max(A))
矩阵中最大的Array
min(A)
sum(A)
每一列全加
mean(A)
每一列的平均
![](https://img-blog.csdnimg.cn/f90902ab04474818b71867b3ce660255.png)
sort(A)每一列升序排列
sortrows(A)
依照第一列进行整体升序排序,会改变行序
size(A)
显示矩阵A的行数和列数(先行后列)
length(A)
find(A==x)
给定一个数,找到在矩阵中的位置
![](https://img-blog.csdnimg.cn/2d0ac254b7564ee7a21adb2f89bb8469.png)
![](https://img-blog.csdnimg.cn/a0aa5892cb4c494b808565e04408660b.png)
6.索引矩阵中的元素
![](https://img-blog.csdnimg.cn/8adc7a6a322d469497e9422a10195d91.png)
分为两种,一种有逗号,一种没有逗号
无逗号输出元素的次序
![](https://img-blog.csdnimg.cn/2855e735b600428a91cc396fa74d93b6.png)
![](https://img-blog.csdnimg.cn/b0c84e0c7d644947b6b76c42d7b1bb57.png)
有逗号则输出元素所在的位置
![](https://img-blog.csdnimg.cn/ae456ffa78814ac1a562d154f65188e1.png)
需要注意的是
A([1,3],[1,3])形式中
前一个中括号表示行,即第一行和第三行
后一个中括号表示列,即第一列和第三列
然后取交集:第一行,第三行,第一列,第三列取交集
![](https://img-blog.csdnimg.cn/01cb1d4fc9bd4777b577f7fb4187e11d.png)
![](https://img-blog.csdnimg.cn/88b9494a24684d5fbf911d10000f1c73.png)