MATLAB 命令速查表 - MATLAB 常用命令与矩阵操作大全
这套速查专给做数值计算与工程仿真的开发者:用矩阵而不是逐元素循环来组织计算,快速读取实验或传感器数据、画图观察趋势、再用内置函数做傅里叶或特征分析。与 numpy 的 . 逐元素运算符不同,MATLAB 的乘法、转置、求逆都是直接对矩阵整体生效,这里按“建矩阵→改矩阵→算统计→画图→落盘”顺序分节,可边跑边抄。读完你应能徒手建出矩阵并做转置、求逆、特征分解与左除解方程组,把数据画成 plot/scatter/直方图,并用 save/load 保存中间结果。
矩阵创建 8
A = [1 2 3; 4 5 6; 7 8 9]创建 3x3 矩阵
B = [1; 2; 3]创建列向量
C = [1, 2, 3]创建行向量
D = zeros(3, 4)创建 3x4 零矩阵
E = ones(2, 3)创建 2x3 全 1 矩阵
F = eye(3)创建 3x3 单位矩阵
G = rand(3, 3)创建 3x3 随机矩阵
H = linspace(0, 10, 100)创建 0-10 的 100 个等间距点
矩阵操作 11
A'矩阵转置,m×n 变 n×m;对复矩阵 A' 还做共轭,仅转置请用 A.'
inv(A)求逆,要求方阵且行列式非零;解方程更推荐用 x = A\b 代替显式求逆,数值更稳定
det(A)行列式,常用来判断矩阵是否奇异:非零才可求逆
rank(A)矩阵秩,即线性无关行(列)的最大数量
trace(A)矩阵迹(对角线元素之和)
eig(A)特征值和特征向量
svd(A)奇异值分解
A * B矩阵乘法,维度须匹配:A(m×k) 乘 B(k×n) 得 C(m×n)
A .* B元素对应相乘,两个矩阵形状须一致,逐元素计算
A / B矩阵右除(A * inv(B))
A \ B矩阵左除(inv(A) * B)
数据可视化 16
plot(x, y)绘制二维曲线
scatter(x, y)绘制散点图
bar(x, y)绘制柱状图
hist(data)绘制直方图
pie(data)绘制饼图
surf(X, Y, Z)绘制三维曲面图
mesh(X, Y, Z)绘制三维网格图
contour(X, Y, Z)绘制等高线图
title("标题")设置图表标题
xlabel("X 轴")设置 X 轴标签
ylabel("Y 轴")设置 Y 轴标签
legend("曲线 1", "曲线 2")添加图例
grid on显示网格
hold on保持当前图形,继续绘制
hold off释放图形保持
subplot(2, 2, 1)创建 2x2 子图中的第 1 个
数据处理 12
mean(A)沿首维计算均值;对矩阵默认按列求平均,想按行请用 mean(A, 2)
median(A)计算中位数,对含离群值的数据比均值更稳健
std(A)计算标准差,衡量数据波动大小
var(A)计算方差,即标准差的平方
max(A)计算最大值
min(A)计算最小值
sum(A)计算总和
cumsum(A)计算累积和
diff(A)计算差分
sort(A)排序
unique(A)去重
find(A > 5)查找满足条件的索引
文件操作 10
load("data.mat")加载 MAT 文件
save("data.mat", "var")保存变量到 MAT 文件
data = csvread("file.csv")读取 CSV 文件
csvwrite("file.csv", data)写入 CSV 文件
data = xlsread("file.xlsx")读取 Excel 文件
xlswrite("file.xlsx", data)写入 Excel 文件
fid = fopen("file.txt", "r")打开文本文件
fclose(fid)关闭文件
fscanf(fid, "%f", [1, inf])读取文件内容
fprintf(fid, "%f\n", data)写入文件内容
编程基础 10
for i = 1:10 ... endfor 循环:for i = 1:10 会依次把 i 取为 1 到 10 逐次执行循环体
while condition ... endwhile 循环:每次进入前判断条件,为真才继续执行
if condition ... elseif ... else ... end条件判断,从上到下命中第一个为真的分支
switch expr case val1 ... otherwise ... endswitch 语句
function [out] = func(in) ... end定义函数
% 注释单行注释
%{ 多行注释 %}多行注释
disp("message")显示消息
fprintf("格式 %d\n", var)格式化输出
input("提示: ")用户输入
线性代数 9
A * x = b解线性方程组
x = A \ b左除求解
[L, U, P] = lu(A)LU 分解
[Q, R] = qr(A)QR 分解
[U, S, V] = svd(A)奇异值分解
norm(A)矩阵范数
cond(A)条件数
null(A)零空间基
orth(A)正交基
信号处理 7
fft(x)快速傅里叶变换
ifft(X)逆傅里叶变换
conv(x, y)卷积
xcorr(x, y)互相关
filter(b, a, x)数字滤波
spectrogram(x)频谱图
psd(x)功率谱密度
提示
- MATLAB 索引从 1 开始,不是从 0 开始(与 Python/C 不同)。
- 矩阵乘法用 *,元素对应乘法用 .*,注意区分。
- plot 函数会自动连接数据点,绘制曲线;scatter 绘制散点图。
- hold on 可以在同一图上绘制多条曲线,hold off 释放保持。
- load 和 save 默认使用 MAT 格式,csvread/csvwrite 用于 CSV 文件。
- 函数文件必须以函数名同名,如 function [out] = myfunc(in) 保存为 myfunc.m。
- 使用 help 命令查看函数帮助,如 help plot。
- 使用 doc 命令打开完整文档,如 doc plot。
由 巧匠 维护
公开更新于 2026年7月21日,内容持续校对官方文档。