제 질문은 쉽게 요약 할 수 있습니다 : "왜 다음은 작동하지 않습니까?"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'
을 출력합니다.
나는 주위에 내 머리를 얻을 수 없습니다.
for i = 1:numel(fields)
teststruct.(fields{i})
end
단지와 다르게 표시되는 다른 셀 배열을 반환합니다 access data in your cell array에 괄호를 사용 : fieldnames
함수는 문자열의 cell array을 반환 이후
당신의 대답은 믿을 수 없을만큼 도움이되고 몇 년 동안 문자 그대로 나를 괴롭혔던 몇 가지 사항들을 정리했습니다. –