Unit 1
- MATLAB的中文名称:矩阵实验室
- MATLAB功能区的3个选项卡:主页、绘图和应用程序
- 命令提示符:
>> - 转换当前文件夹:
cd - 续行符:
... - 注释:
% - 命令行中使用分号不显示信息
- MATLAB帮助命令:
help用于搜索命令; lookfor用于对M文件进行关键字搜索
Unit 2
- 数据类型有关的函数:
complex(a,b)可以生成a+bi的复数;double single可以将其他类型的数据转换成对应的数据类型;real可以求一个复数的实部;imag可以求一个复数的虚部;angle可以求一个复数的辐角;conj可以求复数的共轭复数;class可以求一个数据的数据类型。 - 默认的数据类型是double
- 默认的输出格式是short
format 格式符可以改变输出格式- 冒号表达式:
e1:e2:e3e1是初始值,e2是步长,e3是终止值 linspace(a,b,n)可以生成类似冒号表达式的矩阵,a是初始值,b是终止值,n为个数- 序号和下标互化:
sub2ind(S,I,J) S是转化矩阵的行和列矩阵,I是行下标,J是列下标。ind2sub(S,D)S是是转化矩阵的行和列矩阵,D是序号 length(A)求出A最长维的长度;ndims(A)给出矩阵的维数;numbel(A)给出矩阵的元素个数- 利用冒号表达式获得子矩阵:
A(:)可以获得一个由其元素组成的列向量 reshape(A,m,n)可以把矩阵A转化成m,n的矩阵(按列排)- MATLAB中的变量要求:只能是字母开头、后接字母、数字或下划线
- 预定义变量:
| 变量/常量 | 描述 | 示例/注释 | |
|---|
| 数学常量与数值 | | | |
pi | 圆周率 π (≈ 3.14159) | area = pi * r^2; | |
i, j | 复数的虚数单位 (√-1) | c = 2 + 3i; 或 c = 2 + 3j; | |
Inf | 无穷大 (Infinity),例如 1/0 的结果 | limit_val = 1/0; | |
NaN | 非数值 (Not-a-Number),表示无意义的数学运算结果,如 0/0 | result = 0/0; | |
eps | 浮点数的相对精度,即从 1.0 到下一个最大浮点数之间的差值。它代表了计算机能够区分的最小数值差 | eps 的值通常非常小,例如 2.2204e-16 | |
realmax | 系统所能表示的最大正浮点数 | - | |
realmin | 系统所能表示的最小正浮点数 | - | |
intmax | 系统所能表示的最大正整数 | intmax('int32') 会返回 32 位整数的最大值 | |
intmin | 系统所能表示的最小负整数 | intmin('int32') 会返回 32 位整数的最小值 | |
| 运算与结果 | | | |
ans | 存储最近一次未赋值给变量的计算结果 | >> 2+2 ans = 4 | |
| 逻辑值 | | | |
true | 逻辑真,等同于 1 | is_valid = true; | |
false | 逻辑假,等同于 0 | is_valid = false; | |
| 系统与信息 | | | |
computer | 返回运行 MATLAB 的计算机类型 | 可能会返回 'PCWIN64', 'GLNXA64', 'MACI64' 等 | |
version | 返回 MATLAB 的版本信息字符串 | v = version; | |
date | 以字符串形式返回当前日期 | >> date ans = '13-Nov-2025' | |
clock | 以六元素向量形式返回当前时间:[年, 月, 日, 时, 分, 秒] | >> c = clock | |
保存和加载:save filename [变量表] [-append] [-ascii]可以保存文件名;load filename [变量表] [-ascii]
预定义变量:好的,MATLAB 提供了极为丰富的内置数学函数,能够满足从基础计算到高级科研的各种需求。下面将这些常用函数以表格形式进行分类整理。
常用数学函数:
| 函数 | 描述 | 示例 |
|---|
+, -, *, /, \ | 加、减、乘、右除(a/b)、左除(a\b,相当于b/a) | 5 + 3, a * b |
^ 或 power(a, b) | 幂运算 (ab) | 2^3 或 power(2, 3) |
sqrt(x) | 计算 x 的平方根。 | sqrt(16) 结果为 4 |
nthroot(x, n) | 计算 x 的 n 次方根 | nthroot(8, 3) 结果为 2 |
abs(x) | 计算 x 的绝对值或复数的模。 | abs(-5) 结果为 5 |
sign(x) | 符号函数,x>0 返回 1,x<0 返回 -1,x=0 返回 0。 | sign(-8) 结果为 -1 |
| | |
MATLAB 的标准三角函数默认使用弧度作为单位。 如果需要使用角度,可以在函数名后加 d,例如 sind。
| 函数 (弧度) | 函数 (角度) | 描述 | 示例 (弧度) |
|---|
sin(x) | sind(x) | 正弦函数 | sin(pi/2) 结果为 1 |
cos(x) | cosd(x) | 余弦函数 | cos(pi) 结果为 -1 |
tan(x) | tand(x) | 正切函数 | tan(pi/4) 结果为 1 |
asin(x) | asind(x) | 反正弦函数 | asin(1) 结果为 pi/2 |
acos(x) | acosd(x) | 反余弦函数 | acos(-1) 结果为 pi |
atan(x) | atand(x) | 反正切函数 | atan(1) 结果为 pi/4 |
atan2(y, x) | atan2d(y, x) | 四象限反正切 | atan2(-1, -1) 结果为 -2.3562 |
| 函数 | 描述 | 示例 |
|---|
exp(x) | 自然指数 ex。 | exp(1) 结果为 2.7183 (e 的值) |
log(x) | 自然对数 (ln x)。 | log(exp(5)) 结果为 5 |
log10(x) | 常用对数 (以 10 为底,log₁₀ x)。 | log10(100) 结果为 2 |
log2(x) | 以 2 为底的对数 (log₂ x)。 | log2(8) 结果为 3 |
| 函数 | 描述 | 示例 |
|---|
complex(a, b) | 创建一个复数 a + bi。 | z = complex(3, 4) |
real(z) | 返回复数 z 的实部。 | real(3 + 4i) 结果为 3 |
imag(z) | 返回复数 z 的虚部。 | imag(3 + 4i) 结果为 4 |
abs(z) | 返回复数 z 的模(幅值)。 | abs(3 + 4i) 结果为 5 |
angle(z) | 返回复数 z 的相角(以弧度为单位)。 | angle(1 + 1i) 结果为 0.7854 |
conj(z) | 返回复数 z 的共轭复数。 | conj(3 + 4i) 结果为 3 - 4i |
| 函数 | 描述 | 示例 |
|---|
round(x) | 四舍五入到最近的整数。 | round(3.5) 结果为 4, round(3.4) 结果为 3 |
floor(x) | 向下取整,返回不大于 x 的最大整数。 | floor(3.9) 结果为 3, floor(-3.2) 结果为 -4 |
ceil(x) | 向上取整,返回不小于 x 的最小整数。 | ceil(3.1) 结果为 4, ceil(-3.9) 结果为 -3 |
fix(x) | 向零取整(截断小数部分)。 | fix(3.9) 结果为 3, fix(-3.9) 结果为 -3 |
mod(a, m) | 模运算,返回 a 除以 m 的余数 | mod(10, 3) 结果为 1 |
rem(a, m) | 求余运算,结果的符号与被除数 a 相同。 | rem(10, -3) 结果为 1, rem(-10, 3) 结果为 -1 |
如果要对矩阵进行函数:在其后加m即可,如sqrtm logm expm funm | | |
- 矩阵除法:
A\B=inv(A)*B B/A=B*inv(A) - 点运算:意味着对应的元素进行运算。
- 关系运算:
~=不等号==等于号 - 逻辑运算:
&与; |或;~非 ;或使用and(a,b) or(a,b) not(a,b) xor(a,b)表示与、或、非、异或 - 字符串相关:
eval(s)可以执行字符串的内容;abs/double可以把字符串转化成acsii码;char()可以把acsii码转化成字符串;strcat(s1,s2)可以连接字符串;strcmp(s1,s2)可以比较s1和s2;findstr(s1,s2)可以返回短字符串在长字符串中的开始位置(列向量) - 删除结构体成员
rmfield(a,'成员') - 单元数据:⚠️矩阵元素要用大括号;
b(1)=[]是删除元素,b{1}=0是把元素置成空矩阵
Unit3
- 特殊矩阵:
zeros()全0矩阵;ones()全1矩阵;eye产生单位矩阵;rand产生(0,1)均匀分布的随机矩阵;randn产生均值为0,方差为1的标准正态分布矩阵。 - 奇怪的矩阵:魔方矩阵:
magic;范德蒙行列式vander;希尔伯特行列式:hilb;伴随矩阵:compan - 对角阵和三角阵:
diag(A)提取A的主对角线元素,diag(A,k)提取第k条对角线,diag(V)以V为对角线构造一个对角阵,diag(V,k)以V为第k条对角线;triu(A)求矩阵A的上三角阵;triu(A,k)求矩阵A的第k条对角线以上的元素;tril求矩阵A的下三角矩阵,其余类似上三角矩阵。 - 矩阵变换:
.'转置,'是共轭转置,rot90(A,k)把矩阵A旋转90的k倍,filplr(A)对矩阵A实施左右翻转,filpud(A)对矩阵实施上下翻转 - 矩阵的求值:
inv(A)矩阵求逆;det(A)求A的行列式;rank(A)求秩;trace(A)求矩阵的迹;norm(V,1) norm(V)或norm(V,2) norm(V,inf)是求各范数的函数;cond(V,1) cond(V)或cond(V,2) cond(V,inf)是求各条件数的函数 - 矩阵特征值:
V=eig(A)求矩阵A的全部特征值,[V,S]=eig(A)可以求A的全部特征值,构成对角阵D,X是对应的特征向量 - 稀疏矩阵:
A=sphere(S)是把S转化成稀疏存储方式的A
Unit4
- 打开文件:
edit filename - M文件:脚本文件和函数文件
- 输入:
input('提示词') - 输出:
disp(输出项) - 暂停:
pause(延迟秒数) - if语句:
- swtich语句:
switch 表达式
case 结果
case 结果
otherwise
end
1
2
3
4
5
- try语句:
- for语句:
- while语句:
- break语句和continue语句:break用于终止循环;continue用于跳过循环语句。
- 函数文件的基本结构:
function[]=函数名(输入形参表)
注释
语句
1
2
3
- nargin记录输入实参的个数,nargout
- 全局变量:
global 变量名 - 内联函数:
f=inline(a) - 匿名函数:
句柄=@(输入参数) 匿名函数表达式 - 程序调试:
dbstop设置断点,dbclear清除断点,dbcont恢复程序的执行,dbstep执行一行或者多行语句,debquit推出调试模式
Unit5
- 二维图像:
plot(x,y) plot(x) plot(x1,y1,x2,y2,...其中还可以加上选项,如线型、颜色、标记符号 - 双纵坐标:
plotyy(x1,y1,x2,y2) - 图像标注:
title图形名称标题 ;xlabelx轴说明;ylabely轴说明;text批注;legend添加图例 - 坐标控制:
axis equal坐标等长;axis square正方形坐标系;axis auto 默认设置;axis on/off显示或者取消坐标系。 - 网格控制
grid on/off - 边框控制:
box on/off - 图形保持:
hold on/off保持原有图形或者刷新 - 图形分割:
subplot(m,n,p)分割成m x n的绘图区,p为当前工作区(按行优先) - 自适应采样绘图函数:
fplot(filename,lims,选项) - 其他坐标系:对数坐标图形
semilogx semilogy loglog可以绘制半对数和全对数图像;polar(theta,rho,选项)极坐标 - 特殊二维图像:
bar(x,y,style)条形图,style可选grouped或者stacked;hist(y,x) rose(theta,x)直方图;pie(x,explode)扇形图 - 三维图形:
plot3(x1,y1,x2,y2) - 平面平面坐标矩阵的生成:
meshgrid() - 绘制三维曲面的函数:
mesh(x,y,z,c)三维网格图,c是颜色;surf(x,y,z,c)是三维曲面,c是颜色。 - 特殊三维曲面:
[x,y,z]=sphere三维球面;[x,y,z]=cylinder(R,n)三维柱面 - 图形处理:
imread读取该图形;image图像显示
Unit 6
- 最值:
max(X)求X每列的最大值,返回一个行向量。[Y,U]=max(A)返回一个行向量求X的最大值到Y,U记录每列最大值的行号;min类似 - 求和和求积:
sum(X)求向量X的和,sum(A,dim)没有dim默认是求列的和,返回一个行向量,dim是1、2,1时等同于sum(A);prod求积,用法类似 - 平均值和中值:
mean(A)用法与sum类似,求算数平均值;求中值用median,用法类似 - 累加和累乘:
cumsum cumprod - 标准差和相关系数:
std(A,flag,dim)用法和max类似,flag是选择标准差形式;var求方差 - 相关系数:
corrcoef - 排序:
[Y,I]=sort(A,dim,mode)dim默认取1,取1按列排,取2按行排,mode可选ascend 升序;descend降序;默认取ascend - 多项式计算:
conv多项式乘法;deconv多项式除法;polyder(P)求导;polyval(P,x)用于求值;polyvalm矩阵求值;roots多项式求根 - 一维数据插值:
interp1(X,Y,X1,method) - 二维数据插值:
interp2(X,Y,X1,method) - 曲线拟合:
polyfit(X,Y,m)m是拟合多项式的次数