How can divide this array into same group ?

1 view (last 30 days)
I have a matrix contain daily load profile, size 366x97 elements. The column number 97 shows flag of weekday and holiday by 0, 1 respectively.
I want to create matrix A contains only row data with flag 0 (holiday) and matrix B contains only row data with flag 1 (weekday).
How can I separate these raw data into 2 type of day: weekday and holiday ?

Accepted Answer

jonas
jonas on 27 Feb 2018
Edited: jonas on 27 Feb 2018
A=DailyloadProfile(find(DailyloadProfile(:,97)==1),:); B=DailyloadProfile(find(DailyloadProfile(:,97)==0),:);
  2 Comments
Stephen23
Stephen23 on 27 Feb 2018
find is totally superfluous, using logical indexing is faster than using find:
B = A(A(:,97)==1,:)
C = A(A(:,97)==0,:)

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!