커뮤니티

특정시간대 이동평균

프로필 이미지
고저중
2018-11-30 22:47:30
224
글번호 124044
답변완료
문의드립니다. 특정시간대 이동평균을 구하고자 합니다.(20일선) 즉 하루를 6등분 하여 4시간대별 이동평균을 구하고자 합니다. 07:00 ~ 11:00 구간의 이동평균 11:00 ~ 15:00 구간의 이동평균 15:00 ~ 19:00 구간의 이동평균 19:00 ~ 23:00 구간의 이동평균 23:00 ~ 03:00 구간의 이동평균 03:00 ~ 07:00 구간의 이동평균 그리고 다음 시간대 이동평균의 시작은 시가 값으로 초기화해서 시작될 수 있도록 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-12-03 11:02:45

안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. input : P(20); var : S1(0),D1(0),TM(0),TF(0),aa(0),cnt(0); var : sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); var : sum4(0),mav4(0),sum5(0),mav5(0),sum6(0),mav6(0); Array : CC[7,50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; aa = 0; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%240; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { aa = aa+1; for cnt = 1 to 49 { CC[aa,cnt] = CC[aa,cnt-1][1]; } } CC[aa,0] = C; if CC[1,P-1] > 0 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1 + CC[1,cnt]; } mav1 = sum1/P; plot1(mav1); } if CC[2,P-1] > 0 then { sum2 = 0; for cnt = 0 to P-1 { sum2 = sum2 + CC[2,cnt]; } mav2 = sum2/P; plot2(mav2); } if CC[3,P-1] > 0 then { sum3 = 0; for cnt = 0 to P-1 { sum3 = sum3 + CC[3,cnt]; } mav3 = sum3/P; plot3(mav3); } if CC[4,P-1] > 0 then { sum4 = 0; for cnt = 0 to P-1 { sum4 = sum4 + CC[2,cnt]; } mav4 = sum4/P; plot4(mav4); } if CC[5,P-1] > 0 then { sum5 = 0; for cnt = 0 to P-1 { sum5 = sum5 + CC[5,cnt]; } mav5 = sum5/P; plot5(mav5); } if CC[6,P-1] > 0 then { sum6 = 0; for cnt = 0 to P-1 { sum6 = sum6 + CC[6,cnt]; } mav6 = sum6/P; plot6(mav6); } } 즐거운 하루되세요 > 고저중 님이 쓴 글입니다. > 제목 : 특정시간대 이동평균 > 문의드립니다. 특정시간대 이동평균을 구하고자 합니다.(20일선) 즉 하루를 6등분 하여 4시간대별 이동평균을 구하고자 합니다. 07:00 ~ 11:00 구간의 이동평균 11:00 ~ 15:00 구간의 이동평균 15:00 ~ 19:00 구간의 이동평균 19:00 ~ 23:00 구간의 이동평균 23:00 ~ 03:00 구간의 이동평균 03:00 ~ 07:00 구간의 이동평균 그리고 다음 시간대 이동평균의 시작은 시가 값으로 초기화해서 시작될 수 있도록 부탁드립니다.