加载 MAT 文件而不创建中间变量

fed*_*ico 1 file-io matlab structure dataset mat-file

我正在尝试加载 MAT 文件并获取数据集作为输出。如果我跑

a = load('foo.mat');
Run Code Online (Sandbox Code Playgroud)

a是结构而不是数据集。为了获得数据集,我需要运行以下代码

load('foo.mat');
a = foo;
Run Code Online (Sandbox Code Playgroud)

尽管如此,在我的工作区中,我有两个相同的数据集,特别是 a和foo。

有没有办法只编写一行代码并导入 MAT 文件并获得单个数据集而不是两个数据集?

Dev*_*-iL 5

不load将其分配给变量是一个坏主意,因为这会使跟踪工作区的更改变得困难。

我一般会这样做,

a = struct2array(load('foo.mat'));
Run Code Online (Sandbox Code Playgroud)

但这有一些限制(例如,它仅在foo.mat包含单个变量时才有效)。