我的问题很容易概括为:“为什么以下方法不起作用?”在MATLAB中对结构字段名进行迭代
teststruct = struct('a',3,'b',5,'c',9)
fields = fieldnames(teststruct)
for i=1:numel(fields)
fields(i)
teststruct.(fields(i))
end
输出:
ans = 'a'
??? Argument to dynamic structure reference must evaluate to a valid field name.
特别是自teststruct.('a')
确实工作。并且fields(i)
打印出ans = 'a'
。
我无法理解它。
你的回答非常有帮助,并已清理了一些已经多年来一直困扰着我的东西。 – 2015-10-29 13:49:26