如何切片结构数组?

Tim*_*Tim 7 arrays matlab slice multidimensional-array

如何从Matlab结构数组的每个元素中提取特定字段?

>> clear x
>> x(1).a = 6;
>> x(2).a = 7;
Run Code Online (Sandbox Code Playgroud)

我想要一个包含6和7的数组.既不x(:).a也不x.a做我想要的.

>> x(:).a

ans =    

     6


ans =

     7
Run Code Online (Sandbox Code Playgroud)

And*_*ein 9

没问题 - 只需使用:

arr = [x.a];
Run Code Online (Sandbox Code Playgroud)

它将连接您需要的所有值.如果您有更复杂的数据,可以使用大括号:

b(1).x = 'John';
b(2).x = 'Doe';
arr = {b.x}; 
Run Code Online (Sandbox Code Playgroud)