MATLAB 学习笔记

常用系统设置命令

命令功能
format数值显示格式设置
clc清除命令行中显示的内容
more在命令窗口中控制其后每页的显示内容行数
cd切换当前目录
save把工作空间中的数据存放到 MAT 数据文件
load从数据文件中读取变量到工作空间
who查阅 MATLAB 内存变量名
whos查阅 MATLAB 内存变量变量名、大小、类型和字节
clear删除工作空间中的变量
exist查询工作空间中是否存在某个变量
help显示 M 文件和 MATLAB 命令的帮助信息
lookfor在所有条目中搜索关键字,常用来查找
helpwin打开显示帮助导航/浏览窗口
path设置 MATLAB 搜索路径
what列出当前目录下的文件清单
dir列出当前目录下的文件和子目录清单
type显示指定 M 文件内容
which指出文件所在路径
matlabroot返回 MATLAB 安装目录
diary当前窗口中的所有内容保存到日志中

数据

命令功能
i & j虚数单位
real复数的实部
imag复数的虚部
abs复数的幅值
angle复数的相角

特殊的变量

命令功能
ans运算结果的默认变量名
pi圆周率 \(\pi\)
eps计算机的最小数
flops浮点运算数
inf无穷大
NaN 或 nan非数,如 0/0
i 或 ji=j=\(\sqrt{-1}\)
nargin函数的输入变量数目
nargout函数的输出变量数目
realmin最小的可用正实数
realmax最大的可用正实数

矩阵

矩阵和数组

命令功能
linspace用来生成线性等分向量
logspace用来生成对数等分向量
zores(m,n)产生 \(m\times n\) 的全 0 矩阵
ones(m,n)产生 \(m\times n\) 的全 1 矩阵
rand(m,n)产生均匀分布的随机矩阵,元素取值为 0.0~1.0
randn(m,n)产生正态分布的随机矩阵
magic(N)产生 N 阶魔方矩阵
eye(m,n)产生 \(m\times n\) 的单位阵
A(i,j)\(m\times n\) 的 A 矩阵的第 i 行第 j 列的元素
A(s)\(m\times n\) 的矩阵, A(i,j)对应的单下标 \(s=(j-1)\times m+i\)
a([1 3],[2 3])取行数为1、3,列数为2、3的元素构成子矩阵
a(1:3,2:3)取行数为13,列数为23的元素构成子矩阵
a(:,3)取所有行第3列的元素构成子矩阵
a(1:3,end)取行数为1~3,列数为最后列的元素构成子矩阵
a([1 3;2 6])取下标为1、3、2、6的元素构成子矩阵
logic逻辑矩阵
a(1:2,1:3)=[1 1 1;1 1 1]给第1、2行元素赋值为全1
a(5:6)=[2 3]给第5、6元素赋值
A(:)=B给矩阵A的所有元素赋值,矩阵B的元素数必须等于矩阵A的元素数
a(:,3)删除1列元素
[a;a]联结成 \(6\times 3\) 的矩阵
[a a]联结成 \(3\times 6\) 的矩阵
triu(X)产生X矩阵的上三角矩阵,其余元素补0
tril(X)产生X矩阵的下三角矩阵,其余元素补0
flipud(X)使矩阵X沿水平轴上下翻转
fliplr(X)使矩阵X沿垂直轴左右翻转
flipdim(X,dim)使矩阵沿特定轴翻转,dim=1,按行维翻转;dim=2,按列维翻转
rot90(X)使矩阵X逆时针旋转\(90^\circ\)
length用来计算字符串的长度
double用来查看字符串的ASCII码存储内容
char用来将ASCII转换成字符串形式
class判断某一变量的类型
ischar用来判断某一变量是否为字符串
strcmp用来比较字符串的内容是否相同
findstr寻找在某个长字符串中的字符串
deblank删除字符串尾部的空格
eval执行某一字符串命令
disp显示字符串
det计算方阵行列式
rank求矩阵的秩
inv求矩阵的逆矩阵
eig计算矩阵特征值和特征向量
diag产生对角阵
lu方阵分解为一个准下三角方阵和一个上三角方阵的乘积
qr矩阵分解为一个正交方正和一个与其同阶的上三角矩阵的乘积
svd矩阵分解为三个矩阵的乘积
*矩阵相乘
.*数组相乘
A\B左除
A/B右除
A^矩阵乘方
A.^数组乘方
\'矩阵转置
.\'数组转置
abs绝对值或者复数模
sqrt平方根
real实部
imag虚部
conj复数共轭
sin正弦
cos余弦
tan正切
asin反正弦
acos反余弦
atan反正切
atan2第四象限反正切
sinh双曲正弦
cosh双曲余弦
tanh双曲正切
Rat有理数近似
Mod模除求余
round四舍五入
Fix向接近零去整
Floor向无穷小四舍五入
ceil向无穷大四舍五入
sign符号函数
rem求余数留数
exp自然指数
log自然对数
log10以10为低的对数
pow22的幂
bessel贝塞尔函数
gamma伽玛函数
expm矩阵的指数函数
logm矩阵对数函数
sqrtm矩阵的平方根函数
funm矩阵的函数运算
all判断列向量元素是否全非0,全非0则为1
any判断列向量元素是否有非0,有非0则为1
isequal判断两个矩阵是否全相等
isempty判断是否为空阵,为空则为1
isfinite判断各元素是否有限,是则为1
isinf判断个元素值是否无穷大,是则为1
isnan判断各元素值是否为NAN,是则为1
isnumeric判断数组元素是否全为数值型数组
isreal判断各元素值是否全为实数,是则为1
isprime判断各元素值是否全为质数,是则为1
isspace判断各元素值是否为空格,是则为1
find寻找数组非0元素的下标和值
ndims直接给出数组的维数
size得出各维的大小
length返回行数或列数的最大值

稀疏矩阵

命令功能
sparse产生稀疏矩阵
full将稀疏矩阵转变为全元素矩阵
spdiags用对角线元素来构建一个稀疏矩阵
spconvert从外部文件输入稀疏矩阵
nnz返回稀疏矩阵的非零元素个数
nonzeros返回一个包含所有非零元素的列向量
nzmax返回最大的非零元素个数
spy用图形观看稀疏矩阵的非零元素分布情况

多项式

命令功能
poly2sym通过系数矩阵构建多项式
polyval计算多项式在给定变量时的值,按数组运算规则进行计算
roots用来计算多项式的根
poly根据多项式的根得出系数;计算矩阵的特征多项式的系数
residue将分式表达式进行多项式的部分分式展开
conv多项式乘法
deconv多项式除法
polyder多项式的微分
polyfit多项式拟合
interp1一维插值
interp2二维差值

元胞数组和结构数组

命令功能
celldisp显示元胞数组的内容
cellpot以图形显示元胞数组的内容
deal取多个元胞元素的内容
struct创建结构数组
.获取结构数组
getfield获取结构数组的数据
setfield设置结构数组的数据
fieldname获取结构数组的所有域

数据分析

命令功能
max矩阵中各列的最大值
min矩阵中各列的最小值
mean矩阵中各列的平均值
std矩阵中各列的标准差
median矩阵中各列的中间元素
var矩阵中各列的方差
cov矩阵中各列的协方差
corrcoef矩阵中各列间的相关系数矩阵
sort(X,n)沿第n维按模增大重新排序
Diff(X,m,n)沿第n维求第m阶列向差分
gradient(Z)对Z求x,y方向的数值梯度
sum矩阵各列元素的和
cumsum(X,n)沿第n维求累计和
cumprod(X,n)沿第n维求累计乘积
trapz梯形法求积分
cumptrapz(X,y,n)用梯形法沿第n维求函数y对自变量x累计积分
conv计算向量的卷积
conv2计算二维卷积
deconv解卷积运算
fft对离散序列进行离散傅里叶变换
ifft对离散序列进行离散傅里叶逆变换
cross2个向量的矢量积
dot2个向量的数量积