保存和加载结构数组 MATLAB
Save and load structure array MATLAB
我正在尝试在 MAT 文件中保存和加载结构数组,但每次重新加载时结构数组都会不断变化。如果保存以下并重新加载它,它会一直在前面添加结构。
struct.field1
struct.field2
save data.mat struct
struct = load('data.mat');
我知道这是因为我将文件加载到一个变量中,这使它成为一个结构,如果我只使用它就不会:
load('data.mat')
但是我在一个函数中调用加载命令,因此我不能使用它。有谁知道如何解决这个问题,这样我就不知道了:
struct.struct.struct.struct.struct.field1;
struct.struct.struct.struct.struct.field2;
在重新加载 data.mat 文件几次后,但只是这样:
struct.field1;
struct.field2;
亲切的问候,
罗马诺
为避免添加更深的嵌套结构,您可以选择使用内容选项 -struct
将所有字段保存为单独的变量
MystructName.field1 = 0
MystructName.field2 = 1
save('data.mat', '-struct', 'MystructName')
然后加载数据到一个变量,我会看到结构没有改变
MyStructName = load('data.mat')
MyStructName =
field1: 0
field2: 1
Ps。也许这只是在您的示例中,但是将您的结构命名为 struct
是不好的,因为它会覆盖名为 struct
.
的 Matlab 内置函数
我正在尝试在 MAT 文件中保存和加载结构数组,但每次重新加载时结构数组都会不断变化。如果保存以下并重新加载它,它会一直在前面添加结构。
struct.field1
struct.field2
save data.mat struct
struct = load('data.mat');
我知道这是因为我将文件加载到一个变量中,这使它成为一个结构,如果我只使用它就不会:
load('data.mat')
但是我在一个函数中调用加载命令,因此我不能使用它。有谁知道如何解决这个问题,这样我就不知道了:
struct.struct.struct.struct.struct.field1;
struct.struct.struct.struct.struct.field2;
在重新加载 data.mat 文件几次后,但只是这样:
struct.field1;
struct.field2;
亲切的问候,
罗马诺
为避免添加更深的嵌套结构,您可以选择使用内容选项 -struct
将所有字段保存为单独的变量MystructName.field1 = 0
MystructName.field2 = 1
save('data.mat', '-struct', 'MystructName')
然后加载数据到一个变量,我会看到结构没有改变
MyStructName = load('data.mat')
MyStructName =
field1: 0
field2: 1
Ps。也许这只是在您的示例中,但是将您的结构命名为 struct
是不好的,因为它会覆盖名为 struct
.