第一次技术部授课——Matlab(r2019a版本)
No.1
Matlab简单介绍:
一款数学工具,以矩阵为处理单元。
菜单栏
当前文件夹
工作区
命令行窗口
No.2
矩阵的输入:
(1)直接输入:通过键盘直接输入以下矩阵。同一行之间用空格或逗号隔开,不同行之间用分号隔开。
输入后按回车键得
输入
(1)通过函数或语句产生(详细见下方)
(2)在workspace中修改:
对于已经在命令行窗口中存在的矩阵,会在workspace中显示:
双击workspace中的矩阵可以得到一个矩阵表格,可在该表格中修改矩阵的数值。
No.3
矩阵的运算:
1、 加(减)法:假设对于已经存在的A,B矩阵,要使的A,B矩阵相加,则需要定义一个新的C矩阵,并且输入C=A+B(A-B),之后按回车,即可得到C矩阵。
2、 矩阵的乘法:
假设对于已经存在的A,B矩阵,要使的A,B矩阵相乘,则需要定义一个新的C矩阵,并且输入C=A*B,之后按回车,即可得到C矩阵。(如下图)
3、矩阵的点乘法(对应相乘):假设对于已经存在的A,B矩阵(此处借用矩阵乘法中的两个矩阵),要使的A,B矩阵相乘,则需要定义一个新的C矩阵,并且输入C=A.*B,之后按回车,即可得到C矩阵。点乘与乘法不同,点乘是单个元素对应相乘。
4、 矩阵的除法:
矩阵的除法分为左除和右除。
对于已经存在的A,B两个矩阵,输入C=A/B,则可以得出A乘以B的逆矩阵,若输入C=A\B,则可以得到A的逆矩阵乘以B。
5、 矩阵的乘方运算:
(1) 输入C=A^2可以得到A*A。
(2) 输入C=A.^2则是A.*A。
No.4
变量和表达式
1、“=”表示赋值,“==”表示判断是否相等;
2、“;”作用:阻塞程序结果的输出。
如果输入:“C=A*B;”则不会在命令行窗口显示出结果,但是会在workspace中显示:
3、预定义变量:
(1) ans:如果直接输入“B*A”,并没有将他赋给C矩阵,则按下回车后会自动赋给ans;
(2) clc:输入“clc”回车后,此时窗口的所有命令均被清除;
(3) eps:代表浮点数的精度,通常认为1+eps是最接近于1的数;
(4) i,j:表示复数;
(5) NaN:表示非数(求不出来的,比如0/0);
(6) Inf:表示无穷;
No.5
矩阵的其他运算:
1、 转置:假如A为某一行向量,要使其转换为列向量,则可以输入“A=A’”来转置;
2、求逆:通过inv函数可以得到矩阵的逆矩阵
3、 求和:通过sum函数求和
(1) 通过写C=sum(B)或者C=sum(B,1),可得到对列求和的一个行矩阵;
(2) 通过写C=sum(B,2),可得到对行求和的一个列矩阵;
(3) 通过写C=sum(B’),可得到对行求和的行矩阵;
4、 求主对角线元素:
(1) 通过写C=diag(B),可把B矩阵的主对角线的元素提取出来,将主对角线的元素排列为一个列矩阵;
(2) 对于列向量,有如下图的特殊用法:从列向量复原主对角线矩阵
No.6
一些较复杂的运算:
1、求阶:通过写[m,n]=size(B)函数可读出B矩阵的行数和列数。
2、求秩:通过写:rank(B),即可得出B矩阵的秩。
3、求行列式:通过写det(A),可输出A矩阵的行列式;
4、特征值:
写法一:输出一个特征值组成的列矩阵。
写法二:输入[D,E]=eig(B),输出为:D是特征值对应的特征向量,E是特征值构成的对角阵。
5、矩阵元素的引用:通过写B(2,3)可输出B矩阵的第二行第三列的元素值;通过写B(10)可以输出从左到右,按列数的第10个元素。
No.7
矩阵的产生(对应矩阵的输入,通过函数语句输入):
1,“:”运算符:
可创造出等步长的向量。举例:
(1)已知向量中插入:
通过写B=[B,A],可以将行向量A补充到B矩阵的最后一行。
(2)提取已知矩阵的行或列:
通过写B(1:2,3:4)可提取出B矩阵的一到二行,三到四列的子矩阵,而单独的冒号代表全部,A(:,3)就代表全部行,第三列,也就是第三列的全部元素。
2、linspace()函数:等差输出函数通过写linspace(初值,末值,元素个数)可输出等间隔的行向量;
logspace()函数:等比输出函数,和linspace()用法相同。
3、通过写A=[],可得到一个空矩阵。
4、eye(m,n)函数:通过写A=eye(m,n),可得到主对角线为1的矩阵,m,n表示行数和列数,若只有一个参数,则生成方阵。
5、zeros(m,n)函数,得到所有元素都是0的矩阵(注意区分空矩阵),m,n表示行数和列数。若只有一个参数,则生成方阵。
6、ones(m,n)函数,可得到所有元素都是1的矩阵,m,n表示行数和列数。若只有一个参数,则生成方阵;
7、rand(m,n)函数,可生成m行,n列的随机数矩阵,元素是0-1内的数值。
8,magic(m)函数:生成一个行,列,对角线的和均相等的方阵。
No.8
基本数学函数:
abs()函数:求复数的模长或实数的绝对值;
sqrt()函数:求开方;
real()和imag()函数:求数值的实虚部;
conj()函数:求共轭,输入conj(A),可得到A的共轭复数。
round()函数:四舍五入数值,round(3.5)=4。
fix()函数:向0约分,如:fix(-3.5)=-3。
ceil()函数:向正无穷约分,ceil(3.5)=4。
floor()函数:向负无穷约分,floor(3.5)=3。
rem()函数:求余函数。
log()函数:当不写底数是默认底数是e。
log10()函数:自然对数函数。
图文:技术部 焦一帆
排版:宣传部 尹永锋