I have a structure which contains various arrays. I want to directly access a particular element of an array. My structure is as follows: s =
a: [1 2 3 4 5]
b: [1 2 3 4 5]
.
.
Now I want to access elements of these arrays(a,b...) in loop. So how can I access that. I am able to access complete array using below commands:
fields = fieldnames(s);
for i=1:length(fields)
s.(fields{i});
end
But I am not able to access a particular element directly in one command. How can I do that?

 채택된 답변

Bjorn Gustavsson
Bjorn Gustavsson 2013년 12월 18일

0 개 추천

Simpler than you think I guess:
ElementsOfInterest = [2 5 1];
for i=1:length(fields)
s.(fields{i})(ElementsOfInterest(i));
end
Works for me.
HTH

댓글 수: 1

Kushagra
Kushagra 2013년 12월 19일
I was using an additional dot to access elements of field.... Thanks

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

제품

질문:

2013년 12월 18일

댓글:

2013년 12월 19일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by