Matlab第二周 常用操作、变量与矩阵操作
1 常用操作
1.1 matlab工具窗常用指令/按键
指令名 | 用途 |
quit | 关闭退出matlab |
clc | 清除matlab工作窗内容 |
clf | 清除图形窗图形 |
clear | 清除变量与函数 |
pack | 收集内存碎片扩大内存空间 |
dir | 列出指定目录下的文件与子目录 |
cd | 更改当前目录 |
disp | 显示变量/文字内容 |
type | 显示文件中的全部内容 |
按键 | 用途 |
ESC | 清除行内容 |
空格/delete | 删除字符左/右 |
Home/end | 定位行首/尾 |
1.2常用函数介绍
abs 绝对值,复数的模,字符串ascii码值
取整函数:fix——向0方向取整
floor——向负无穷大取整
ceil——向正无穷大取整
round——四舍五入
取余函数:rem——求余,符号同被除数
mod——求余,符号同除数
min/max,mean
2 变量与基本赋值
2.1 变量基本操作
Matlab变量,为字母开头,可以为字母,数字,下划线,标准函数名命令名小写。
赋值操作:变量=表达式
预定义变量:(1)ans是计算结果的默认赋值变量
(2)i j 代表虚数单位
(3)pi 代表圆周率
(4)NaN 代表非数,在绘图时,如果想裁掉一部分,只需要将相应的坐标数据设为NaN就可以了
2.2 内存变量的管理
工作空间中可以对变量进行操作
delete删除,clear清理
who/whos命令使用可以输出存储的变量名/详细信息
save/load命令可以生成装入变量文件(后缀为.mat)
3 矩阵操作
3.1 矩阵输入
直接输入,用方括号括起,不同元素用分号/空格
使用冒号建立:a:b:c,a为初始值,b为步长,c为终值,如:1:1:100
(建立1到100,步长为1的矩阵)
linspace(a,b,n):a为起始值,b为终值,n为点数
3.2 矩阵元素引用
下标引用:A(6,3),A矩阵3列6行
A(6),按列排布第6个,
A(:,j) 表示取A矩阵的第j列全部元素
A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素
A(end,:)end表示某一维的末尾元素下标,表示取最后一行所有元素
3.3 矩阵拆分删除
[]利用空矩阵可以删除元素,X(1,1)=[]
矩阵的拆分:利用冒号表达式获取子矩阵,A(i:i+m,:)
3.4 特殊矩阵
zeros:全0矩阵
ones:全1矩阵
rand:0~1均与分布的随机矩阵
randn:均值为0,方差为1的标准正态分布(白噪声)
magic(n):n阶魔方阵,每行、每列及两条对角线上的元素和都相等
vander(V):生成以向量V为基础向量的范得蒙矩阵,范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。
hilb(n), invhilb(n):希尔伯特矩阵与逆
pascal(n):n阶帕斯卡矩阵,二次项(x+y)2展开后的系数随n的增大组成一个三角形表
3.5 矩阵分析
diag(A):提取主对角线元素/建立一个主对角线为A的对角阵
inv(A):矩阵的逆,det(A):矩阵的行列式的值
rank(A):矩阵的秩
[V,D]=eig(A):矩阵的特征值组成对角阵D,特征列向量组构成V
triu(A)/tril(A):提取矩阵对角线以上(下)元素/建立上(下)三角阵
triu(A,k):求A第k条对角线以上元素
单撇号:矩阵转置,rot90(A,k):矩阵A逆时针旋转90度k倍
fliplr(A)/flipud(A):左右翻转与上下翻转
范数:
(1) norm(V)或norm(V,2):计算向量V的2—范数。
(2) norm(V,1):计算向量V的1—范数。
(3) norm(V,inf):计算向量V的∞—范数。
squtm(A):矩阵的平方根
logm(A):矩阵的自然对数
4 矩阵的运算
4.1 基本算术运算
matlab的基本算术运算包括+(加),-(减),*(乘),/(右除),\(左除),^(乘方)。运算是在矩阵意义下进行的,单个的数据运算也可以看成1*1的矩阵运算。
矩阵的加减运算:两个矩阵维度相同才可以进行。
矩阵乘法除法:A*B为矩阵乘法,A.*B为矩阵中的对应元素乘法。(点乘点除点乘方等运算皆为对应元素的运算)
A\B等效为A的逆左乘B:inv(A)*B,A/B等效为A的逆右乘B:B*inv(A),如果是标量运算,两者相同,点除为对应元素的运算。
4.2 点运算
点运算符为矩阵中对应元素的运算:.*(乘),./,.\(除),.^(乘方)
同样,点运算也要求两个矩阵维度相同。
4.3 关系运算
关系运算包括6种运算符:
<(小于),<=(小于等于),>(大于),>=(大于等于),==(等于),~=(不等于)
若两个比较量为标量,输入结果为0或1.
若两个比较量为同维度矩阵,则按照相同位置元素进行对比,输出结果为一个新的矩阵,且矩阵与原矩阵维度相同,由0或1组成。
若为矩阵和标量比较,则结果将为矩阵中的各个元素与该标量比较。
4.4 逻辑运算
逻辑运算符:&(与) ,|(或),~(非),进行比较之后输出结果为0或1.法则与关系运算法则类似。
算数运算符优先级最高,逻辑运算符优先级最低,逻辑非为单目运算符,也服从矩阵运算规则。
4.5 其他运算
A‘:A矩阵进行转置
利用函数rot90(A,k)可以将矩阵A旋转90度的k倍,k默认为1。
fliplr(A):矩阵左右翻转,把原矩阵的第一列与最后一列调换,第二列与倒数第二列调换。
flipud(A):矩阵上下翻转,把原矩阵的第一行与最后一行调换,第二行与倒数第二行调换。