如何在matlab中保存.mat文件中的结构数组

时间:2012-11-27 14:30:19

标签: matlab

如何在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.

1 个答案:

答案 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

如果您希望将xy存储为单独的数组(如果-store是标量结构,则为p),那么您需要执行此操作你自己(你可以使用fieldnames函数来收集结构中所有字段的名称。