查找分配给结构中字段的数据条目

时间:2018-06-16 19:34:41

标签: matlab struct matlab-struct

我在MATLAB中有一个结构,每个字段有超过一百个数据条目。

struct.p = [1 2 3 4 ...]

我希望能够通过输入数据条目来搜索字段。 例如,输入2会告诉我该字段为'p'

我尝试过将isfieldfind合并起来。

find(isfield(p(9)))

1 个答案:

答案 0 :(得分:0)

如果A是结构数组,而k是要在所有字段中搜索的值,则:

ind = structfun(@(x) any(x==k), A);  %Loop over all structure fields to search k 
fn = fieldnames(A);                  %Name of all the fields
kfield = fn(ind);                    %Name of those fields which have k

struct是一个内置函数,不要用你的结构遮住它 将您的结构重命名为其他内容。功能