Skip to content

MATLAB - 命令

MATLAB 提供了一个强大的交互式环境,用于数值计算、数据分析和可视化。你可以在 >> 提示符下的命令窗口(Command Window)中直接执行命令。本教程涵盖了现代 MATLAB 工作流中所需的基本命令。

我们将探讨用于管理会话、与文件系统交互、处理 I/O 以及使用 MATLAB 核心数据结构的命令。

这些命令帮助你管理工作区(Workspace)中的变量并控制 MATLAB 会话。MATLAB 桌面环境中的工作区浏览器(Workspace browser)为这些操作提供了图形界面。

命令用途
clc清除命令窗口文本,工作区保持不变。
clear从当前工作区中删除所有变量。使用 clear varName 删除特定变量。
exist检查变量、文件或文件夹是否存在。例如:exist('myVar', 'var')。
global声明变量为全局变量,可在不同函数间访问。最佳实践: 谨慎使用;通常建议将变量作为函数参数传递。
help在命令窗口中显示函数的帮助文本。例如:help plot。
doc打开函数的完整文档页面,通常比 help 更详细。例如:doc plot。
lookfor在帮助文本的第一行中搜索关键字。当你不知道确切的函数名时很有用。
quit退出 MATLAB。
who列出当前工作区中的变量名。
whos列出当前变量,包括大小、字节数和类型等详细信息。

现代数据科学需要强大的工具来导入和导出数据。MATLAB 擅长处理各种文件格式,从简单的文本文件到大型数据集。

命令用途
cd更改当前目录。使用 cd .. 返回上一级目录。
dir列出当前目录的内容。
pwd显示当前工作目录的路径。
load / save将工作区变量加载和保存到 MATLAB 特定的 .mat 文件。例如:save('mySession.mat')。
readtable现代最佳实践。 从 .csv 或 .xlsx 等文件中读取表格数据到 table 数据类型。
writetable现代最佳实践。 将 table 数据写入到 .csv 或 .xlsx 等文件。
readmatrix / writematrix从文本或电子表格文件读取/写入纯数值数据。
delete删除文件。请谨慎使用。
type显示文本文件的内容(例如 .m 脚本)。
diary创建 MATLAB 会话的命令和输出日志。
wklread已弃用。 此函数用于旧版 Lotus 1-2-3 电子表格。对于现代电子表格文件,请使用 readtable 或 readmatrix。

这些命令控制信息在命令窗口中的显示方式以及用户输入的接收方式。

命令用途
disp显示数组或字符串的内容,不打印变量名。用于显示消息时很有用。
fprintf将格式化数据写入屏幕或文件,提供对输出的精细控制。类似于 C 语言的 printf。
input显示提示并等待用户输入一个值。
format控制命令窗口中的数值显示格式(例如 format long、format short、format bank)。
; (分号)抑制命令的输出。对于防止大型矩阵刷屏至关重要。

MATLAB 的核心优势在于其处理数组和矩阵的能力。以下命令是数据操作的基础。

命令用途
size返回数组的维度。
length返回数组最大维度的长度。对于向量,它是元素的数量。
numel返回数组中的元素总数。
reshape改变数组的大小和形状,同时保留元素数量。
zeros, ones, eye分别创建全零数组、全一数组或单位矩阵。
linspace, logspace创建线性或对数间隔的向量。
max, min, sum, prod计算数组元素的最大值、最小值、和或积。
sort按升序排序数组元素。
find查找非零元素的索引和值,或满足逻辑条件的元素。
det, inv, rank计算矩阵的行列式、逆和秩。
cross, dot计算向量的叉积和点积。
table现代数据结构。 创建一个表,它可以包含不同数据类型(数值、文本、分类)的列。
cell创建一个单元格数组(cell array),每个元素可以包含不同类型和大小的数据。

MATLAB 提供了强大且灵活的图形系统。现代方法涉及创建绘图对象并修改其属性,以完全控制可视化。

命令用途
plot创建二维线图。返回一个绘图对象以便进一步自定义。例如:p = plot(x, y); p.LineWidth = 2;。
scatter创建带有标记的二维散点图。
bar创建条形图。
histogram创建直方图以可视化数据分布。
heatmap从矩阵创建热图。
xlabel, ylabel, title, legend为当前坐标轴添加标签、标题和图例。
figure创建一个新的图形窗口。
tiledlayout现代最佳实践。 在图窗中创建并排列网格状的绘图。优于 subplot。
subplot在网格中创建子图。对于新代码,建议使用 tiledlayout。
hold on / hold off允许在同一坐标轴上绘制多个图而不覆盖。
axis设置或获取坐标轴的限制。例如:axis([xmin xmax ymin ymax])。
grid on / grid off切换网格线的可见性。
exportgraphics现代最佳实践。 将图窗或坐标轴保存到文件(例如 PNG、PDF、EPS)。优于 print。