제목: IDL 실습 #2 - 4월 2일 [] | 작성일: 2010. 4. 2. 15:54 |
배열
배열 생성 변수
INDGEN(3) -> 배열 3개 생성 (정수) -> 0, 1, 2
FINDGEN 5 -> 배열 5개 생성 (실수) -> 0.0, 1.0, 2.0, 3.0, 4.0
ex)
myfloats=indgen(10)
mynewfloats=myfloats+5
print, mynewfloats
출력결과> 5 6 7 8 9 10 11 12 13 14
c와는 다른점
for(i=0, i<=10, i++)
for(j=0, j<=10, j++)
printf(i, n);
printf(j, n);
1. 복잡하게 구성할 필요가 없다
2. 무조건 [0]번 부터, 값 0부터 잡힌다.
a=findgen(100) - 1차원 배열
b=findgen(10,10) - 2차원 배열
a와 b의 형태 값은 같다. (단, 차원이 다름)
사칙연산
gt > greater than)
it < less than)
ge >= 이상)
le <= 이하)
eq == 같다
ne =/= 같지 않다
where 함수
index=where(a ge 5)
index는 어떤 값이 들어가나? -> 주소값
ex)
a=[0,1,2,3,4,5]
index=where(a ne 5)
5와 같지 않는 것
과제1)
3,6,9 만들기, 47번째 해당하는 숫자 출력하시오
a=intgen(100)*3+3
print,a[46]
출력결과> 141
과제2)
1988년 부터 2016년까지 올림픽 날짜 출력하시오
a=indgen(100)*4+1988
print, a < 2016
출력결과> 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
배열의 값
최대값: max, 최소값: min, 평균값: mean, 중간값: median, 표준편차: stddev, 총합: total
a=[0,1,2,3,4,5,6,7,8,9]
print, mean(a)
print, min(a)
print, median(a)
print, stddev(a)
print, total(a)
출력결과> 4.5 / 0 / 9 / 4.5 / ~ / 45