【发布时间】:2019-06-24 21:20:39
【问题描述】:
我正在尝试加载一个 MAT 文件并获取一个数据集作为输出。如果我跑
a = load('foo.mat');
a 是一个结构而不是数据集。为了获得数据集,我需要运行以下代码
load('foo.mat');
a = foo;
不过,通过这种方式,在我的工作区中,我有两个相同的数据集,特别是 a 和 foo。
有没有办法只写一行代码并导入 MAT 文件并获得一个数据集而不是两个?
【问题讨论】:
-
在secong选项中,如果你不指定
a=foo,你有一个数据集叫foo -
是的,使用
load('foo.mat');,您将只有foo。如果你希望它被称为a,那么在你的第二个sn-p的末尾添加clear foo -
@Adiel 是的,我忘了补充一点,我不希望将变量称为“foo”(在我的实际情况下,该名称很长且相对不可用)。
-
请注意,当您执行
a=foo时,MATLAB 不会复制数据。只要您不修改这些变量之一,您的数据就只会在内存中保存一次。 -
您可以使用
a = load('foo.mat'); a = a.foo;。它是芯片,实际上没有复制。
标签: matlab file-io dataset structure mat-file