IDL 천문관측 및 실험 1. 목차 IDL 이란 ? 기본적인 유용한 함수들 그래프 그리기 & 이미지 기본적인 프로그래밍.

Slides:



Advertisements
Similar presentations
2014 년 가을학기 계산 입문 연습 #2 지도교수 : 박성우 조교 : 김준성 1. 목차 복습하기 정수와 문자열 논리연산자 비교연산자 비교 연산자 & 논리 연산자 조건 연산식 변수 선언 2.
Advertisements

03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
MATLAB 의 사용.  초기 MATLAB 은 Cleve Moler 에 의해 Fortran 으 로 작성  현재는 미국의 MathWork 사에 의해 C++ 로 작성  Matlab 은 Matrix 계산에 뛰어난 능력을 가지고 있 으며 많은 이론의 실증 프로그램을 작성하는데.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
IDL (Interactive Data Language). 컴퓨터 언어 : 컴퓨터와의 커뮤니케이션에 쓰이는 다양한 종류의 언어 ( 출처 : 위키백과 ) 저급 언어 컴퓨터 내부에서 바로 처리가 가능한 언어 기계어, 어셈블리어 고급 언어 사람이 알기 쉽도록 쓰여진 언어 자바,
프로젝트 구성. 프로젝트 델파이 프로그램의 기본 단위 즉, 델파이로 만드는 프로그램을 구성하 는 모든 파일들의 집합 구성파일 확인 –View 메뉴 -> Project Manager 메뉴 – 프로젝트 파일 (DPR 확장자 ) – 폼 관련 파일 (FRM 확장자 ) – 소스.
 Interactive Data Language  IDL 의 장점 (vs fortran,C) ◦ 프로그래밍 및 그래프를 동시에 할 수 있다. ◦ 유저 친화적이다. ◦ 천문학에 특화된 다양한 함수들이 있다. ◦ 데이터 형 변환이 유연하다.
쉘 스크립트와 cron coearth, george.
지적기초측량 경일대학교/부동산지적학과.
2008 사회통계조사 통 계 청 사회복지통계과.
2. 문학의 활동 방법 [1] 문학의 수용 01 소설가 구보 씨의 일일 작가 소개 작품 정리 읽기 중 활동 학습 활동.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
Vision System Lab, Sang-Hun Han
VISUAL BASIC 양 계 탁.
해시 함수.
IDL (Interactive Data Language)
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
시스템 생명 주기(System Life Cycle)(1/2)
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express Slide 1 (of 26)
쉽게 풀어쓴 C언어 Express 제18장 입출력과 라이브러리 함수 C Express.
시스템 생명 주기(System Life Cycle)(1/2)
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
-Part3- 제5장 전처리기와 파일 분할 컴파일
부록 A. Matlab 사용법 Korea University of Technology and Education
IS lab. 김건영 Awk, Posting list IS lab. 김건영
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
제15장 전처리 및 비트연산.
Y. Daniel Liang 길준민 · 정재화.
CHAP 11: 해싱 순천향대학교 하상호.
제 11 장 프로그래밍 기초 1/3 전산천문학 가을.
Chapter 3 Flow of Control
제 3 장 상수와 변수
4장 제어문 선택문: if 문, if – else 문, switch 문
HTML5 웹 프로그래밍 입문 (개정판) 9장. 자바스크립트 객체와 DOM.
부록 A Matlab 활용.
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
프로그래밍 보고서 작성법 순천향대학교 컴퓨터공학과 하 상 호.
김포 한강베네치아 상가분양 3층~5층 오피스텔 226세대 1층~2층 상가 분양문의 : 이효철( )
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
HTML CSS 자바스크립트 무작정 따라하기
기초 프로그래밍 Yang-Sae Moon Department of Computer Science
우리는 부모를 닮지만, 왜 똑같지는 않을까? 유전적 다양성 독립 연관과 교차 무작위 수정.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
쉽게 풀어쓴 C언어 Express 제15장 전처리 및 비트연산 C Express Slide 1 (of 29)
4장 - PHP의 표현식과 흐름 제어-.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
제 5장 변수, 바인딩, 식 및 제어문 5.1 변수 5.6 표현식 5.2 바인딩 5.7 조건문 5.3 선언 5.8 반복문
6장 콘 셸 뇌를 자극하는 Solaris Bible.
작성일 참고서적 – Programing Game AI by Example
4. 어휘 분석(Lexical analysis)
픽셀 기반 처리.
강의 프레젠테이션 현대 사회와 미디어 12강. 미디어 문화.
자바 5.0 프로그래밍.
최대 공약수 구하기 (1) 프로그램 예제2 : 최대 공약수 구하기 문제 해결 방법 구상 (아는 지식 정리) GCD1 알고리즘
물체 나타내기 기술ㆍ가정 1학년 Ⅳ . 제도의 기초 〉 1.물체를 나타내는 방법 (7 / 8) 1. 제작의도 2. 활용방법
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
Interactive Data Language
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
2.1 MATLAB 환경 2.2 배정 2.3 수학적 연산 2.4 내장함수의 사용 2.5 그래픽 2.6 다른 자원
제10장 전처리기 문봉근.
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
DataScience Lab. 박사과정 김희찬 (화)
삶을 풍요롭게 만드는 의사소통.
제 10 장  코드 생성.
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
프로그래밍 기법 최적화 프로그래밍.
Presentation transcript:

IDL 천문관측 및 실험 1

목차 IDL 이란 ? 기본적인 유용한 함수들 그래프 그리기 & 이미지 기본적인 프로그래밍

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

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

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

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

데이터 형식 예제 명령창에 다음을 입력하시오 –A=3 –B=8 –C=9.43 –D=9.43d0 –E=‘SNU’ –F=string(d) –G=fix(d) –fmt=‘(F12.8)’

데이터 형식 예제 명령창에 다음을 입력하시오 –Print, a,b,c,d,e,f,g – 사칙연산 Print, a+b Print, a+c Print, f+e Print, strtrim(f,2)+strtrim(e,2) –Float 과 Double 의 차이점 Print, c, format=fmt Print, d, format=fmt – 형식 변형 예시 및 주의점 H=a+b & I=b+c & J=c+f Print, h, I, j Print, a/b

Array 순서가 있는 집합 –A=[ 석민, 범석, 현종, 재응 ] –B=[ 범석, 현종, 재응, 석민 ] – 두 집합 A,B 는 같다. – 두 Array A,B 는 다르다. IDL 에서 Array 는 0 부터 시작된다. –K=findgen(10)+1 –Print, k –Print, k[4] –H=k[4:7] –Print, h –i=findgen(3,4) –Print, i

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

그래프 그래프 그리는 작업은 명령 창에서 수행이 불가능 한 것은 아니지만, 프로그래밍을 추천한다. 프로그램의 맨 마지막에는 반드시 end 가 있어야한다. 프로그래밍 시 제일 앞에 다음과 같은 문구를 입력하자 –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: 에러바 그래프를 기존 윈도우에 덮 어씌운다.

그래프 Seed1=systime(1) & seed2=2*seed1 X=findgen(22)*0.5 Y=findgen(22)*2 Z=findgen(22) Xerr=0.2*randomu(seed1,22) Yerr=0.7*randomu(seed2,22) Zerr=0.3*randomu(xerr[21],22) X=x+xerr Y=y+yerr Z=z+zerr

그래프 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,/to p

이미지 Tv, tvscl : 이미지를 디스플레이함. Tvscl 은 값을 normalize 시켜서 디스플레이 ( 변수명 )=readfits( 파일명 ) : Fits 파일을 읽 음

프로그래밍 조건 명령어 –Ge: 크거나 같다 (greater or equal) –Gt: 크다 (greater than) –Le: 작거나 같다 (less or equal) –Lt: 작다 (less than) –Eq: 같다 (equal) –Ne: 같지 않다 (not equal)

프로그래밍 유용한 명령어 – Where( 조건문 ) : 조건문에 만족하는 항들의 위치를 Array 로 받아줌 A=findgen(10) B= where (A ge 5) C= where (A eq min(A)) Print, b Print, c Print, A[B]

프로그래밍 유용한 명령어 – Readcol,( 파일명 ),( 줄형식 ),( 변수명 ),/sil : 텍스 트파일의 컬럼들을 각각 Array 로 지정 Readcol, ‘c:\abc.txt’,f=‘(a,i,x,f)’, name, index, value, /sil –A: String –I: integer –X: 읽지 않음 –F: float –D: double

프로그래밍 유용한 명령어 –File_search( 파일조건 ) : 디렉토리의 조건을 만 족하는 파일을 찾는다. Cd 명령어를 통해 디렉 토리를 바꿀 수 있음 Cd, ‘c:\abc\’ Result=file_search(‘*.fits’) Print, result

프로그래밍 유용한 명령어 –N_elements ( 변수 ) : 변수의 전체 개수 Seed=systime(1) A=randomu(seed,20) Print, n_elements(a)

프로그래밍 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

프로그래밍 파일 열기 및 쓰기 – 파일열기 Openr,( 파일번호 ),( 파일명 ) ; 파일을 읽음 Readf,( 파일번호 ),( 변수명 ) ; 첫줄을 읽어 변수명에 저장 Readf,( 파일번호 ),( 변수명 ) ; 다음 줄을 읽어 변수명 에 저장 … Close,( 파일번호 )

프로그래밍 파일 열기 및 쓰기 – 파일열기 예시 Openr, lun1, ‘c:\abc\test.txt’,/get_lun Readf,lun1, oneline Print, oneline Readf,lun1, oneline Print, oneline Close, lun1

프로그래밍 파일 열기 및 쓰기 – 파일 쓰기 Openw, ( 파일번호 ), ( 파일명 ) Printf, ( 파일번호 ), ( 쓸내용 ) Close,( 파일번호 )

프로그래밍 파일 열기 및 쓰기 – 파일 쓰기 예시 Openw,lun2, ‘c:\abc\test.txt’,/get_lun For i=0,5 do begin Printf, lun2, i, 2.*i Endfor Close,lun2

프로그래밍 문자변수 자르기 –Strmid( 변수명, 시작지점, 개수 ) –A=‘abcdefgh’ –Print, strmid(a,2,3) –Print, strmid(a,5,2,/reverse)