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

Matlab: How to generate 0x0 struct array?

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

>> 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?

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

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

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

 y=repmat(x,0,0)