struct for loop syntax difficulty

3 views (last 30 days)
Sara
Sara on 11 Nov 2013
Commented: Sara on 11 Nov 2013
Not sure what I'm doing wrong with the following loop:
for p=66:1:95;
Site(p).Day = Data((Data(:,4) == p),:)
end
I want Site(p) to contain all data from only the days (in column 4) that I am looking for, which should give a 1x29 struct, but at the moment Site(p) is a 1x95 struct where the first 65 entries are blank ([]). I assume the problem is in the first line, but when I make p the correct size (eg p=1:29) I get an error message about dimension mismatch. Also, if I set another vector, eg n=95-66 and p=1:n, I get the same error message. I can't see what I'm doing wrong.

Accepted Answer

Walter Roberson
Walter Roberson on 11 Nov 2013
Site(p-65).Day = Data((Data(:,4) == p),:)
  2 Comments
Sara
Sara on 11 Nov 2013
??? Subscript indices must either be
real positive integers or logicals.
Sara
Sara on 11 Nov 2013
I've got it to work with your solution now. Thanks.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!