我在MATLAB中有一个结构,每个字段有超过一百个数据条目。
struct.p = [1 2 3 4 ...]
我希望能够通过输入数据条目来搜索字段。
例如,输入2
会告诉我该字段为'p'
。
我尝试过将isfield
和find
合并起来。
find(isfield(p(9)))
答案 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
是一个内置函数,不要用你的结构遮住它
将您的结构重命名为其他内容。功能