MATLAB从矢量数组中的struct中提取字段

时间:2016-02-17 11:05:22

标签: matlab struct

我遇到了以下问题:我有一个struct Array,想从一个向量中提取该结构中的一个字段。

结构有5个字段,一个名为" name"。我怎样才能在向量中得到这些?

2 个答案:

答案 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 字段只保持整数的常规值数组。