2015-01-27 9 views
1

У меня есть структура с тысячами имен полей и соответствующих значений. Имена полей смешаны в капитализации, но уникальны по отношению к названию. Мне нужно искать ценности. Я знаю имя поля, для которого я ищу ценность, но я не знаю точного случая писем.Matlab: получить значение из структуры со смешанной капитализацией имен полей

Образец кода:

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

Как я смотрю на то, что значение для коровы в STRUCT А?

Благодаря

ответ

3

Вы можете создать регистронезависимую версию getfield так:

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

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