注:此笔记为B站上台大郭彦甫老师的教学视频的笔记,链接附在下面:
https://www.bilibili.com/video/BV1GJ41137UH?from=search&seid=2186999109437495567&spm_id_from=333.337.0.0
此笔记比较简略,适用于对编程语言已经有一定了解(例如已经至少掌握C++/python)的同学学习。对于python的numpy/matplotlib库熟悉会对Matlab的系统操作方法有很大帮助。
Matlab入门教学
Introduction
Matlab:Matrix Laboratory
- 高级编程语言
- 简单的可视化
- 目标:学习使用MATLAB,写代码,解决工程问题
内容
Lecture 1 基本操作与矩阵
Command Line:基本功能(as计算器)
-
Operator:±*/^()
-
cos,sin,ln,要用的符号自己查,matlab online help,内部search亦可
-
embedding functions:用变量存储计算结果,然后再对变量作用函数
-
matlab中新建变量无需声明类型,直接赋值即可,区分大小写没有数字
- matlab中的变量类型
- 一般默认double,别的之后再学
-
who,whos:查看此前定义的变量/+取值
-
关键字:i,j,Inf,eps(非常小),NaN,ans,pi/ build-in function
-
把一个变量从workspace中消除:clear XXX,如果不加XXX就全都清空了
-
format指令:变量值显示方法,如:format+long/short/shortE/…/rat(分数)
-
在输入指令的时候:
- 在最后加分号:不会在该行显示计算结果
- 按 ↑ \uparrow ↑的时候可查看上一条输入的指令
Array and Matrix
-
行向量:a=[1 2 3 4],列向量:a=[1;2;3;4](;:换行),空向量:[]
-
矩阵:A=[1 2 3; 4 5 6; 7 8 9]
-
Indexing:索引
- a(2):第2个数(从1开始计数),A(1,2):第1行第2列
- 矩阵在Matlab中的存储方式实际上是列向量相连的形式,因此也可以进行线性索引: A(k):先从上往下,再从左往右数第k个;例如,A(2)=4,A(4)=2
线性索引不是很直观,但在操作与矩阵形状无关时有用,例如,求矩阵的元素和:x=sum(A( : )),将矩阵的所有元素乘2:A( : )=A( : )*2(虽然更加方便的做法是直接使用A=A*2) - 可以输入列表:例如A([1 2; 3 4])=[A(1) A(2); A(3) A(4)]=[1 4; 7 2]
- A([1 3], [1 3]):取第1,3行,第1,3列组成的submatrix
-
矩阵局部赋值:寻找索引之后赋值即可
-
colon operator:[i:k]=[i,i+1,…,k];[i:j:k]=[i,i+j,…,i+lj<=k],也可以和char混用
- 除此之外,colon两侧省略单侧则表达到头,省略两侧则表示全部:A(3,:):取出矩阵A的第三行
- 清空第三列:A(3,:)=[]
-
串联数组:[A B]:行串联 [A;B]:列串联