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)
我得到了一个带有变量的 .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)