2010. 04. 14.  Interactive Data Language  IDL 의 장점 (vs fortran,C) ◦ 프로그래밍 및 그래프를 동시에 할 수 있다. ◦ 유저 친화적이다. ◦ 천문학에 특화된 다양한 함수들이 있다. ◦ 데이터 형 변환이 유연하다.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
IDL 천문관측 및 실험 1. 목차 IDL 이란 ? 기본적인 유용한 함수들 그래프 그리기 & 이미지 기본적인 프로그래밍.
IDL (Interactive Data Language). 컴퓨터 언어 : 컴퓨터와의 커뮤니케이션에 쓰이는 다양한 종류의 언어 ( 출처 : 위키백과 ) 저급 언어 컴퓨터 내부에서 바로 처리가 가능한 언어 기계어, 어셈블리어 고급 언어 사람이 알기 쉽도록 쓰여진 언어 자바,
Add Your Text 5. 지수함수와 로그함수 1. 지수함수 2. 로그함수 · 지수함수와 그 그래프 · 지수방정식과 지수부등식 · 로그 함수와 그 그래프 · 로그방정식과 로그부등식.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
IDL (Interactive Data Language)
Chapter 7. 조건문.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
Ch1 MATLAB Environment 제1장 매트랩 환경.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
14장. 포인터와 함수에 대한 이해.
KIM HEESANG PL/SQL 2 KIM HEESANG
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
C#.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
27장. 모듈화 프로그래밍.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
에어 조건문.
인터넷응용프로그래밍 JavaScript(Intro).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Microsoft Word 2002 제4장 그리기와 그림 삽입하기.
2장. 변수와 타입.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
Canary value 스택 가드(Stack Guard).
Excel 일차 강사 : 박영민.
에어 PHP 입문.
Excel 일차 강사 : 박영민.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Interactive Data Language
Chapter 10 데이터 검색1.
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
TVM ver 최종보고서
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ②.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
Visual Basic .NET 기초문법.
6 객체.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
5. 1 두 수를 입력받아 큰 수를 구하는 순서도를 작성하시오
Presentation transcript:

 Interactive Data Language  IDL 의 장점 (vs fortran,C) ◦ 프로그래밍 및 그래프를 동시에 할 수 있다. ◦ 유저 친화적이다. ◦ 천문학에 특화된 다양한 함수들이 있다. ◦ 데이터 형 변환이 유연하다

 두 가지 실행방식 ◦ 명령어 창을 이용  간단한 계산에 용이 ◦ 프로그래밍  복잡하거나 지속적인 계산에 용이  파일을 저장 ∙ 컴파일 해야 실행이 된다.  행의 길이 제한이 없다.  대소문자를 구별하지 않는다.  변수선언을 미리 해줄 필요가 없다. ◦ 또한 경우에 따라서는 자의적으로 문자간의 변환을 해준다. ◦ 단 변수는 첫 글자가 숫자로 시작할 수 없고 특수문자 % 는 사용이 불가능 하며, _ 를 제외한 특수문자는 변수의 첫 글자로 사용될 수 없다 )  내장된 기본함수 외에 다양한 외장함수가 있다. ◦ 도움말이 필요할 때 기본함수는 ? ( 함수명 ), 외장함수는.comp ( 함수명 ) 을 명령어창에 입력해준다.

 사칙연산자 : +,-,*,/  거듭제곱 : ^  줄연결 : $  줄바꿈 : &  주석 : ;  변수확인 : help  초기화 :.res  브레이크 : control + c  오류수정완료 : control + r  출력 : print,

형식명특징기본어레이증가어레이변환형 Integer 정수형 (-32768~32767) IntarrIndgenFix Float 실수형 빠르고 가볍지만 정밀도는 떨어짐 FltarrFindgenFloat Double 실수형 정밀도는 높지만 느리고 무겁다. DblarrDindgenDouble String 문자열 StrarrString 이외에도 Long, Ulong, complex 등등 다양한 데이터형식이 있다.

 Integer ◦ A=3 & B=7 ◦ C=A+B ◦ Print, C  Float ◦ D=12.4 ◦ Print, A+D  String ◦ F=‘ 카라 ’ & G=‘ 소녀시대 ’ ◦ Print, F+G ◦ Print, F+’ vs ‘+G ◦ E=string(d) ◦ Print, d+d ◦ Print, e+e ◦ Print, strtrim(d,2)+strtrim(d,2)  지금까지 지정된 변수를 초기화 시켜봅시다. ◦.reset

 Byte, integer 등 정수형은 한계가 있다 ! ◦ print, a=32767 ◦ Print, a+1 ◦ Print, a+1L  아무리 IDL 이 유저편의적이라지만 … ◦ Print, 6/3.5 ◦ Print, 1/3 ◦ Print, ‘135’+’135’ ◦ Print, ‘135’+135  정확도에 대해 생각하자 ◦ A=2.8 ◦ B=2.8D ◦ Print, a, b ◦ Print, a, b, format=‘(F17.15)’

◦ A=‘Seoul National University’  문자열의 길이는 ? ◦ Print, strlen(a)  대소문자변환 ? ◦ A=strupcase(a) ◦ Print, a ◦ A=strlowcase(a) ◦ Print, a  공백제거 ◦ B=strcompress(a) ◦ Print, b ◦ Print, strcompress(a, /remove_all)  문자열의 일부추출 ◦ C=‘abcdefghijk’ ◦ Print, strmid(c,2,3) ◦ Print, strmid(c,2,3,/reverse_offset)

 삼각함수들 : sin, cos, tan, sinh, asin  로그함수 : alog, alog10  지수함수 : exp  절대값 -abs, 루트 -sqrt, 최대 -max, 최소 -min, 중 간값 -median, 평균 -mean  상수들 : !pi, !dpi, !radeg, !dtors

 상수연습 ◦ Print, sin(90.) ◦ Print, sin(90.*!dtor) ◦ Print, asin(0.5) ◦ Print, asin(0.5)*!radeg  함수연습 ◦ 일때, f(3.3), f(5.1) 의 값을 구하라 ◦ X=3.3 ◦ F=x^5.-3.*abs(x)*x+5.*alog(x)/alog(5)+sqrt(x) ◦ Print, f ◦ X=5.1 ◦ F=x^5.-3.*abs(x)*x+5.*alog(x)/alog(5)+sqrt(x) ◦ Print, f

 순서가 있는 집합 ◦ A=[ 승연, 하라, 니콜, 규리, 지영 ] ◦ B=[ 승연, 니콜, 지영, 규리, 하라 ] ◦ 두 집합 A,B 는 같다. ◦ 두 Array A,B 는 다르다.  IDL 에서 Array 는 0 부터 시작된다. ◦ Seed=systime(1) ◦ K=findgen(10)+randomu(seed) ◦ Print, k ◦ Print, k[4] ◦ H=k[4:7] ◦ Print, h ◦ i=findgen(3,4) ◦ Print, i

 배열 속에서 어떤 조건을 만족하는 것의 위치찾기 ◦ Print, a=findgen(10)*3.1 & a[7:9]=6.2 ◦ Help, a ◦ Print, a ◦ Print, where(a eq 6.2) ◦ Print, where(a lt 6.2)  조건판별연산자 IDL 연산자수학 조건 LT< LE≤ GT> GE≥ EQ= NE≠

 Readcol, ( 파일명 ), ( 파일포멧 ), ( 변수 ) ◦ 파일포멧  문자열 : A, integer: I, float: F, double: D ◦ 제일 마지막에 /sil 을 붙이면 아래창에 다른 알람메세지 가 뜨지 않는다.  Dir=‘c:\abc\’  Readcol, dir+’baseball.txt’,f=‘(I,A,I,X,I,F)’,rank, team, win, lose, wrate, skipline=1,/sil  Print, team  Print, win

◦ A=25 & b=12500 & c= ◦ Print, a, b, format=‘(I2, I10)’ ◦ Print, b, a, format=‘(I2, I10)’ ◦ Print, c ◦ Print, c, format=‘(F10.4)’ ◦ Print, c, format=‘(F12.4)’ ◦ Print, c, format=‘(E12.5)’ ◦ Print,c, format=‘(E14.7)’ ◦ Print, a, b, c, format=‘(I2, I5, F9.4)’ ◦ Print, a, b, c, format=‘(I2, I6, F10.4)’ ◦ Print, a, b, c, format=‘(I2, 3x,I5, 3x,F9.4)’

 파일 쓰기 ◦ 문법  Openw, ( 파일번호 ), ( 파일명 )  Printf, ( 파일번호 ), ( 쓸내용 )  Close,( 파일번호 ) ◦ 파일 쓰기 예시  Openw, lun, ‘ c:\abc\test.txt ’,/get_lun  Printf, lun, 25, 30  Printf, lun, 11, 33  Close, lun

 나누고 남은 나머지 ◦ Print, 7 mod 3  조건을 만족하는 파일 찾아서 어레이로 지정하기 ◦ File=file_search(‘c:\abc\*.txt’)  어레이의 변수수 ◦ Print, n_elements(file)  랜덤함수 만들기 ◦ Seed=systime(1) ◦ Print, randomu(seed,10)  60 진법 10 진법 ◦ Print, ten(10,20,33) ◦ Print, sixty( )

 프로그램을 작성 후, 컴파일 후 실행한다.  프로그램의 끝에는 반드시 end 가 적혀 있어야 한 다.

 For 구문 ◦ For ( 변수 )=( 시작 ),( 끝 ),( 간격 ) do begin ◦ ( 내용 ) ◦ Endfor ◦ 변수값이 시작값에서 끝값까지 바뀌는 동안 안의 내용을 반복함

 For 구문 ◦ 피보나치 수열을 출력해보자  A1=1 & a2=1  Print, a1  Print, a2  For i=0, 10 do begin  A3= a1+a2  a1=a2, a2=a3  Print,a3  endfor

 IF,else 구문 ◦ 한줄로 사용할 때  If (a lt 10) then print, a  If (a lt 10) then print, a else print, 10 ◦ 블록으로 사용할 때  If (a lt 10) then begin  B=a  endif ◦ 블록으로 여러 번 사용할 때  If (a lt 10) then begin  Endif else if (a gt 30) then begin  Endif else begin  endelse

 While ◦ 해당 조건을 만족하면 계속 수행 ◦ ( 비추천 ) ◦ 한줄 사용시  While ( 조건문 ) do ◦ 블록 사용시  While ( 조건문 ) do begin  endwhile

 명령에 앞서서 다음을 입력하자 ◦ Device, decomposed=0 ; True color vs DirectColor visuals ◦ Loadct, 39, /sil ; 칼라테이블을 읽는다. 39 번은 흑백 + 레인보우, 13 은 흑백. /sil 은 명령창에 출력하지 말고 조용히 불러들이라는 뜻. ( cf. xpalette (SeLab 자료실에 제공하는 ) cindex ◦ !p. background=255 & !p. color=0 ; !p. 는 plot 에 대한 명령 어. 이후 기본적으로 배경은 255 번 색, 칼라는 0 번색으로 지정.  그래프 명령어들 ◦ Plot: 가장 기본적인 명령어 ◦ Oplot: 기존 윈도우에 덮어씌워서 그린다. ◦ Plots: Array 가 아닌 하나의 점도 그릴 수 있다. ◦ Ploterror: 십자모양의 에러바를 그려준다. ◦ Oploterror: 에러바 그래프를 기존 윈도우에 덮어씌운다.

◦ X=findgen(100)/10. ◦ Y=sqrt(x) ◦ Z=sin(x*!dtor)

 plot ◦ 기본적인 그래프 그리기  Plot, y  Plot, x, y ◦ 색 바꿔 그리기  Plot, x, y, color=125 ◦ X,Y 범위 및 Label, title  Plot, x, y, xr=[0,10], yr=[0,40], xtitle= ‘ x ’ ytitle= ‘ y ’, title= ‘ Graph test ’ ◦ 점 / 선 / 점과선 함께 그래프 그리기  Plot, x, y, psym=4, symsize=2  Plot, x, y, linestyle=3, thick=2  Plot, x, y, psym=-4, linestyle=3

 plot ◦ 축의 스타일  Plot, x, y, xstyle=9, ystyle=8  Plot, x, y, /xst, /yst  1: 정확히 데이터 범위만큼 축을 지정 (=/xst)  2: 축의 범위에 약간의 여유를 둠  4: 축을 그리지 않음  8: 축을 한 쪽만 그림  16: x,y 축의 교점이 0 이 되지 않도록 함 (ystyle 에 해당 ) ◦ 눈금스타일  Plot, x, y, ticklen=1  Plot, x, y, yticklen=1, ygridstyle=2  Plot, x, y, xr=[0,10], xtick=5, xminor=4

 Plot ◦ 축 및 Label 키우기  Plot, x, y, xtitle= ‘ x ’ ytitle= ‘ y ’, title= ‘ Graph test ’, charsize=1.3 ◦ 로그스케일  Plot, x, y, /xlog ◦ 데이터 그리지 않기  Plot, x, y,/nodata

 Oplot  Plot, x, y  Oplot, x, z, color=125  동시에 2 개의 창을 띄우고 싶을땐 ?  Window,0  Plot, x, y  Window,1,xs=500, ys=400  Plot, x,z

 Ploterror ◦ Ploterror,x,y,xerr,yerr  Oploterror ◦ Oploterror,x,z,xerr,zerr

 그래프 툴과 관련된 유용한 명령어들 ◦ Xyouts: 그래프 상에 텍스트를 print 할 수 있다.  Xyouts,7,30, ’ Astronomy ’,/data  /data: data 값 기준  /normal: 창의 상대크기  /device: 창의 픽셀 ◦ Legend: 범례를 만들 수 있다.  Legend,[ ‘ y ’, ’ z ’ ],color=[0,125],linestyle=[0,0],/left,/top

 Fits 파일 읽기  A=readfits(‘c:\abc\n2041v.fits’,h)  Print, h  디스플레이하기 ◦ Tv, a ◦ Tvscl, a ◦ Tv, bytscl(a, min=100, max=1000)

 이미지 잘라내기 ◦ B=a[100:199,150:349]  자른이미지 저장하기 ◦ Write_tiff,’c:\abc\test.tiff’,b,/long ◦ Tv, bytscl(a, min=100, max=1000) ◦ K=tvrd() ◦ Write_png,’c:\abc\text.png’,k

 성단 팀 > b 필터와 v 필터의 자료를 가지고 X 축은 B-V, Y 축은 V 등급의 색등급도를 그려보시오. ◦ 파일 : n2041b.dat, n2041v.dat ◦ 파일형식은 x, y, 등급, 등급에러  변광성팀 > 시간자료와 관측 결과를 가지고 X 축은 시간, Y 축은 타겟별의 상대적인 등급변화를 그려 보시오 ◦ 파일 : time.dat, time10~24.dat ◦ 파일형식은 index, 등급, 등급에러. 41 번별이 변광성이 며 94, 70 번 별은 비교성이다.