Skip to content

MATLAB - 工作区

MATLAB 的**工作区(Workspace)**是一个交互式环境,用于存储您在会话期间创建或导入的所有变量。您可以将其视为当前工作的临时内存空间。每个变量都具有名称、值以及其他属性,如其大小和数据类型。掌握工作区管理对于高效且可重现的分析至关重要。

本章将引导您了解与工作区交互的基本要素,包括:

  • 查看工作区内容
  • 创建和修改变量
  • 保存和加载工作区数据以便将来使用
  • 从内存中清除变量

在默认的 MATLAB 桌面布局中,工作区窗格通常位于右侧。如果它不可见,您可以从主菜单中启用它:

在**主页(Home)选项卡中,环境(Environment)部分,点击布局(Layout)。在下拉菜单中,确保工作区(Workspace)**已勾选。这将显示该窗格,其中以表格形式列出了变量,包含名称(Name)、值(Value)、类(Class)、大小(Size)等列。

您还可以使用命令行窗口中的 who 和 whos 命令以编程方式检查工作区内容。

% The 'who' command lists the names of variables currently in the workspace.
who
Your variables are:
A myString
% The 'whos' command provides a more detailed view.
whos
Name Size Bytes Class Attributes
A 3x3 72 double
myString 1x11 22 string

您在命令行窗口或脚本中定义的任何变量都会自动出现在工作区中。让我们创建一个矩阵和一个字符串变量。

A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
myString = "Hello, MATLAB!"
myString =
"Hello, MATLAB!"

执行这些命令后,您将在工作区窗格中看到 A 和 myString。您可以双击窗格中的变量,在**变量编辑器(Variables editor)**中打开它,在那里您可以检查并手动编辑其值,这对于调试特别有用。

要在编辑器中以编程方式打开变量,请使用 openvar 命令:

openvar('A')

退出 MATLAB 时,工作区变量会被清除。为了保留您的数据,您必须将其保存到文件中。MATLAB 的原生格式是 MAT 文件(.mat),这是一种高效的压缩二进制格式。

管理数据持久性最灵活的方式是使用 save 和 load 命令。

% 将当前工作区中的所有变量保存到名为 'my_session.mat' 的文件中
save('my_session.mat')
% 将特定变量(例如 A 和 myString)保存到文件中
save('important_data.mat', 'A', 'myString')

要在新的 MATLAB 会话中检索数据,请使用 load 命令:

% 将指定 MAT 文件中的所有变量加载到工作区
load('my_session.mat')
% 您还可以将数据加载到结构体中,这有助于防止
% 当前工作区中的变量名冲突。
data = load('important_data.mat')
data =
struct with fields:
A: [3×3 double]
myString: "Hello, MATLAB!"

虽然 MAT 文件非常适合 MATLAB,但如果您需要与其他程序(如 Python 或 Excel)共享数据,请考虑以标准格式保存变量。为此,可以使用 writematrix、writetable 或 writecell 等函数。

清空工作区是一个好习惯,可以避免错误地使用旧的变量值。clear 命令用于此目的。

% 从工作区中移除所有变量
clear
% 创建一些新变量
x = 10; y = 20;
% 仅从工作区中移除变量 'x'
clear x
% 使用正则表达式清除以 'test' 开头的变量
test1 = 1; test_data = 2; other_var = 3;
clear -regexp ^test

一个常见错误是运行依赖于工作区中不再存在的变量的脚本。为了使您的脚本健壮且可共享,请务必在脚本开头初始化所有必要的变量,或从数据文件中加载它们。在主脚本的开头添加 clear 命令通常是一个好主意,以确保有一个干净的起点。