1

如何.mat在 Matlab 文件中保存结构数组?是否可以?

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.
4

1 回答 1

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作为单独的数组(就像-storep一个标量结构一样),那么您需要自己做(您可以使用该fieldnames函数来收集结构中所有字段的名称)。

于 2012-11-27T14:44:52.547 回答