Поскольку fields
или fns
являются массивами ячеек, вам необходимо индексировать фигурными скобками {}
, чтобы получить доступ к содержимому ячейки, то есть строке.
Обратите внимание, что вместо зацикливания числа вы также можете зациклить fields
напрямую, используя удобные функции Matlab, которые позволяют проходить через любой массив. Переменная итерации принимает значение каждого столбца массива.
teststruct = struct('a',3,'b',5,'c',9)
fields = fieldnames(teststruct)
for fn=fields'
fn
%# since fn is a 1-by-1 cell array, you still need to index into it, unfortunately
teststruct.(fn{1})
end