1

約数千のフィールド名と対応する値を持つ構造体があります。フィールド名は大文字と小文字が混在していますが、名前に関する限り一意です。値を調べる必要があります。値を探しているフィールド名はわかっていますが、大文字と小文字の正確な大文字と小文字がわかりません。

サンプルコードは次のとおりです。

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

struct A の牛の値を調べるにはどうすればよいですか?

ありがとう

4

1 に答える 1

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
于 2015-01-27T20:43:51.290 に答える