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?

 Accepted Answer

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 Comments

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
@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.

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 28 Feb 2013

Community Treasure Hunt

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

Start Hunting!