如何在Matlab中的.mat
文件中保存结构数组?有可能吗?
p(1).x=0;
p(1).y=0;
p(2).x=1;
p(2).y=1;
save('matfilename','-struct','p');
% ??? Error using ==> save
% The argument to -STRUCT must be the name of a scalar structure variable.
答案 0 :(得分:1)
您可以使用save
而不使用-struct
参数:
>> p(1).x = 0;
>> p(1).y = 0;
>> p(2).x = 1;
>> p(2).y = 1;
>> save('myvars.mat', 'p');
>> clear p;
>> load('myvars.mat');
>> p(1)
ans =
x: 0
y: 0
>> p(2)
ans =
x: 1
y: 1
如果您希望将x
和y
存储为单独的数组(如果-store
是标量结构,则为p
),那么您需要执行此操作你自己(你可以使用fieldnames
函数来收集结构中所有字段的名称。