Looping through Structure Elements

1 Ansicht (letzte 30 Tage)
Franco
Franco am 28 Feb. 2013
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?

Akzeptierte Antwort

Leah
Leah am 28 Feb. 2013
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 Kommentare
Franco
Franco am 28 Feb. 2013
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 am 28 Feb. 2013
@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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by