커뮤니티

문의 드립니다.

프로필 이미지
아틀라스
2011-11-01 15:22:29
442
글번호 44290
답변완료
수고가 많으십니다. 답변해주신 식중에서 아래의 부분에 대해 세부 설명을 부탁드립니다. CC[0] = C; for cnt1 = 50 to 200 { sum[cnt1] = 0; if CC[cnt1-1] != 0 then{ for cnt2 = 0 to 199 { if cnt2 < cnt1 Then sum[cnt1] = sum[cnt1]+CC[cnt2]; } } mav[cnt1] = sum[cnt1]/cnt1; } 안녕하세요 예스스탁입니다. input : Atime(9); var : cnt(0),HH(0),cnt3(0),cnt2(0),cnt1(0); Array : CC[201](0),sum[201](0),mav[201](0); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) or stime == 151500 Then{ for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; for cnt1 = 50 to 200 { sum[cnt1] = 0; if CC[cnt1-1] != 0 then{ for cnt2 = 0 to 199 { if cnt2 < cnt1 Then sum[cnt1] = sum[cnt1]+CC[cnt2]; } } mav[cnt1] = sum[cnt1]/cnt1; } HH = mav[50]; for cnt3 = 50 to 200{ if Mav[cnt3] > HH Then HH = mav[cnt3]; } plot1(HH); For Nth = 0 to RCIP1-1 { tempmax = -99999999; For cnt = 0 to RCIP1-1{ if VAL1[cnt] > tempmax then{ tempmax = VAL1[cnt]; tempIndex = cnt; NTHVALUE[cnt] = Nth+1; } } VAL1[tempIndex] = -99999999; } X1 = 0; for cnt = 0 to RCIP1-1{ X1 = X1+ABS((cnt+1)-NTHVALUE[cnt])^2; } RCI1 = (1-(6*X1)/(RCIP1*(RCIP1^2-1)))*100; RCIma = ma(RCI1,RCImaP); if crossup(RCI1,RCIma) Then value = value+1; if crossup(RCI1,RCIma) Then value = value-1;
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-10-31 17:13:38

안녕하세요 예스스탁입니다. for cnt1 = 50 to 200 {#1 sum[cnt1] = 0;#2 if CC[cnt1-1] != 0 then{#3 for cnt2 = 0 to 199 {#4 if cnt2 < cnt1 Then#5 sum[cnt1] = sm[cnt1]+CC[cnt2];#6 } } mav[cnt1] = sum[cnt1]/cnt1;#7 } 위내용은 중복 for문이 이용된 식으로 상단의 for문에 값이 한번 저장되면 하단의 for문은 여러번 루프를 돌면서 값을 계산하는 &#44162;입니다. #1 for문에서 50이 cnt1에 저장이 되면 #2 우선 sum배열변수의 50번째 공간을 0으로 초기화 하고(과거값을 모아 누적해야 하므로) #3 이전 CC의 [49] 공간에 값이 저장되어 있는 것을 확인하고(CC의 0~49까지(총50개) 모아 평균해야 하므로 49번 공간에 값이 있는 것을 확인) #4 cnt2에 0부터 199까지 값을 순차적으로 할당하고 #5 #4에서 숫자가 할당될때 50이평 필요한 갯수만큼만 할당하게 제한 #6 #cnt2에 할당된 값에 해당하는 CC의 값을 불러와 sum의 50번째에 누적 #7 sum의 50번째 공간에 누적된 값을 50으로 나누고 mav의 50번재 공간에 저장 위 내용에 cnt1에 값이 한번할당 될때 마다 한번씩 수행되면서 이평값을 계산합니다. 위 내용은 cnt1에 50이 할당될때 이고 50~200이 할당 &#46700;때 까지 계속 반복합니다. 즐거운 하루되세요 > 아틀라스 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 수고가 많으십니다. 답변해주신 식중에서 아래의 부분에 대해 세부 설명을 부탁드립니다. CC[0] = C; for cnt1 = 50 to 200 { sum[cnt1] = 0; if CC[cnt1-1] != 0 then{ for cnt2 = 0 to 199 { if cnt2 < cnt1 Then sum[cnt1] = sum[cnt1]+CC[cnt2]; } } mav[cnt1] = sum[cnt1]/cnt1; } 안녕하세요 예스스탁입니다. input : Atime(9); var : cnt(0),HH(0),cnt3(0),cnt2(0),cnt1(0); Array : CC[201](0),sum[201](0),mav[201](0); var1 = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) or stime == 151500 Then{ for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; for cnt1 = 50 to 200 { sum[cnt1] = 0; if CC[cnt1-1] != 0 then{ for cnt2 = 0 to 199 { if cnt2 < cnt1 Then sum[cnt1] = sum[cnt1]+CC[cnt2]; } } mav[cnt1] = sum[cnt1]/cnt1; } HH = mav[50]; for cnt3 = 50 to 200{ if Mav[cnt3] > HH Then HH = mav[cnt3]; } plot1(HH);