Looping through Structure Elements

I have this code, where I am trying to loop through structure elements.
month2=struct('January',1,'February',2,'March',3,'April',4,'May',5,'June',6,'July',7,'August',8,'September',9,'October',10,'November',11,'December',12);
year2 = struct('Twelve',1,'Thirteen',2);
fieldmonths = fieldnames(month2);
fieldyear = fieldnames(year2);
for i = 1:numel(fieldyear)
for j = 1:numel(fieldmonths)
temp1 = Electrical.(fieldyear{i}).(fieldmonths{j})(1,1);
end
end
Anyone know why this is telling me that Electrical.Twelve.February doesnt exist?

 채택된 답변

Leah
Leah 2013년 2월 28일

0 개 추천

Because you are referencing Electrical.Twelve.February before it's created.
I'm not sure what your code is trying to do, but try replacing the temp1 line inside the loop with this:
Electrical.(fieldyear{i}).(fieldmonths{j})=[];
This will build an empty structure.

댓글 수: 2

I guess I should have added that Im crating the structure before..Ooops!
for i = 1:a3
if date_4(i,1) == 1 && date_4(i,3) == 12;
Electrical.Twelve.January(i,:) = electrical_data(i,:);
elseif date_4(i,1) == 2 && date_4(i,3) == 12;
Electrical.Twelve.February(i,:) = electrical_data(i,:);
else
continue
end
end
Jan
Jan 2013년 2월 28일
@Franco: But the error message tells you unequivocally, that Electrical.Twelve.February does not exist. Perhaps the is no "date_4(i,3) == 12". While you can check this using the debugger, we can only guess these details.

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

추가 답변 (0개)

카테고리

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

질문:

2013년 2월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by