Matlab:从具有字段名称混合大写的结构中获取值

时间:2015-01-27 20:29:14

标签: matlab matlab-struct

我有一个包含大约数千个字段名称和相应值的结构。字段名称以大小写混合,但就名称而言是唯一的。我需要寻找价值观。我知道我正在寻找价值的字段名称,但我不知道字母的确切情况。

示例代码为:

A = struct();
A.cat = 14;
A.Dog = 11;
A.COw = 13;

如何在struct A中查找cow的值?

由于

1 个答案:

答案 0 :(得分:4)

您可以像这样创建不区分大小写的版本getfield

function value = getfieldi(S,field)
    names   = fieldnames(S);
    isField = strcmpi(field,names);  

    if any(isField)
      value = S.(names{isField});
    else
      value = [];
    end
end