Matlab:如何生成0x0结构数组?

时间:2015-01-09 09:06:39

标签: arrays matlab struct

我得到了一个带有变量X的.mat文件:

>> open('3rdPartyInputfile.mat')
>> X

X = 

0x0 struct array with fields:
    a
    b

我尝试创建类似的变量:

>> X1(1).a = [];
>> X1(1).b = [];
>> X1(1)=[]

X1 = 

1x0 struct array with fields:
    a
    b


>> X2(1).a = [];
>> X2(1).b = [];
>> X2(:,:)=[]

X2 = 

0x1 struct array with fields:
    a
    b

哪个接近但不完全相同。这里的大小是1x0或0x1,而不是所需的0x0。

如何将其设为0x0?

2 个答案:

答案 0 :(得分:8)

要获得0x0结构,您可以使用

X = struct('a',{},'b',{})

答案 1 :(得分:4)

如果您有现有的结构x并希望将其缩小到0x0,则可以执行以下操作:

 y=repmat(x,0,0)