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

Ber*_*Git 4 arrays matlab struct

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

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

X = 

0x0 struct array with fields:
    a
    b
Run Code Online (Sandbox Code Playgroud)

我试图创建一个类似的变量,如:

>> 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
Run Code Online (Sandbox Code Playgroud)

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

怎么把它变成0x0?

Nem*_*sis 8

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

X = struct('a',{},'b',{})
Run Code Online (Sandbox Code Playgroud)

  • 绝对是初始化的方法.看来如果你想调整现有的代码,你只需要创建第一个元素`{}`.例如`X = struct('a',{},'b',[])` (2认同)