2015-01-27 3 views
1

수천 개의 필드 이름과 해당 값이있는 구조체가 있습니다. 필드 이름은 대문자와 섞여 있지만 이름과 관련해서는 고유합니다. 나는 가치관을 찾아 볼 필요가있다. 나는 값을 찾고있는 필드 이름을 알고 있지만 글자의 정확한 경우는 모른다.Matlab : 필드 이름의 대소 문자가 혼합 된 구조체에서 값 얻기

샘플 코드는 다음과 같습니다

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

나는 값이 구조체 A의 소를 위해 무엇을 찾아 어떻게해야합니까?

감사

당신은이 같은 대소 문자를 구분하지 버전 getfield 만들 수 있습니다

답변

3

:

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

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