struct for loop syntax difficulty

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

Site(p-65).Day = Data((Data(:,4) == p),:)

2 Comments

??? Subscript indices must either be
real positive integers or logicals.
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

Asked:

on 11 Nov 2013

Commented:

on 11 Nov 2013

Community Treasure Hunt

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

Start Hunting!