커뮤니티
문의 드립니다.
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문은 여러번 루프를 돌면서 값을 계산하는 겂입니다.
#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이 할당 뙬때 까지 계속 반복합니다.
즐거운 하루되세요
> 아틀라스 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
>
수고가 많으십니다.
답변해주신 식중에서 아래의 부분에 대해 세부 설명을 부탁드립니다.
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);
다음글