首页 > 解决方案 > 加载 MAT 文件而不创建中间变量

问题描述

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

a = load('foo.mat');

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

load('foo.mat');
a = foo;

不过,以这种方式在我的工作区中,我有两个相同的数据集,特别是 afoo

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

标签: matlabfile-iodatasetstructuremat-file

解决方案


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

我通常会这样做,

a = struct2array(load('foo.mat'));

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


推荐阅读