我遇到了以下问题:我有一个struct Array,想从一个向量中提取该结构中的一个字段。
结构有5个字段,一个名为" name"。我怎样才能在向量中得到这些?
答案 0 :(得分:5)
dfri的答案有效但需要MATLAB Mapping Toolbox。您可以使用
{yourStruct.name}
将它们作为单元格数组或[yourStruct.name]
将它们作为数组获取:
>> A(1).name='a';
>> A(2).name='b';
>> A(3).name='c';
>> {A.name}
ans =
'a' 'b' 'c'
,或者
>> A(1).num=10;
>> A(2).num=5;
>> A(3).num=25;
>> [A.num]
ans =
10 5 25
答案 1 :(得分:3)
您可以使用the extractfield
method:
yourNameFieldsAsArray = extractfield(yourStruct, 'name')
如果yourNameFieldsAsArray
字段包含例如name
,则name
将是一个单元格数组字符/字符串值,或@product_sales.map(&:totalprice).sum
字段只保持整数的常规值数组。