필터 지우기
필터 지우기

Calculate consecutive values from annual data to monthly have a yearly timetable (events(1X365)) and I want to find how many consecutive values are equal to 1 for every mont

조회 수: 1 (최근 30일)
I have a yearly timetable (events(1X365)) and I want to find how many consecutive values are equal to 1 for every month. Right now the below code calculates the consecutive ones (1) for January:
f= find(diff([0; (events{1,1}); 0]==1));
events_Jan= [f(1:2:end-1) f(2:2:end)-1 (f(2:2:end)-1-(f(1:2:end-1))+1)];
Max_conseq_for_January=max(events_Jan(:,3));
How can I create a loop for all the 12 months?

채택된 답변

Mathieu NOE
Mathieu NOE 2022년 12월 12일
hello
well a simple for loop will do the job
your result in now an array of length 12 : Max_conseq
load('events.mat')
for m =1:numel(events) % loop over month
f= find(diff([0; events{m} ; 0]==1));
events_this_month= [f(1:2:end-1) f(2:2:end)-1 (f(2:2:end)-1-(f(1:2:end-1))+1)];
Max_conseq(m) = max(events_this_month(:,3));
end
  댓글 수: 4

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by