IDL 8.3의 Equation Plot

IDL 8.3의 새로운 기능 중에 제게 유독 눈에 띄는 기능은 Equation Plot(Plot, Surface, Contour) 기능입니다. 다른 기능들은 ‘언젠가는 나오겠지…”하고 생각했던 기능들이었는데요, 이 기능은 예상하지 못했던 기능입니다. 사실 “아, 이런 기능 꼭 있었으면 좋겠어”라고 생각했던 기능은 아닙니다.

다음과 같이 사용하는 기능입니다. 그냥 수식(함수) 상태로 문자열을 넘기면 그에 따른 적당한 범위를 만들어 플롯을 생성하는 것입니다.

 

IDL> p=plot(‘sin(x)+x/2’)eqation_plot

IDL> s=surface(‘sin(x)*cos(y)’, color=’lime’)

equation_surface

 

IDL> c=contour(‘sin(x)*cos(y)’)

equation_contour

 

물론 Plot, Surface, Contour의 키워드들 사용하여 세세한 튜닝도 할 수 있습니다만, 기본적인 용도는 대략적은 플롯을 한번 확인하는 데 있는 것 아닐까 생각합니다(모르죠, 제가 사용하는 방식과 다른 분들이 사용하는 방식이 같다고 장담 못하니까요).

이런 식의 플롯은 Mathematica나 Maple의 영역이었고, IDL 사용자들은 데이터(x, y) 배열을 만들어 플롯을 생성했던 거구요, 이번에 소개된 기능은 이러한 데이터를 IDL이 ‘적당히’ 만들어 바로 플롯으로 생성하는 것입니다.

어차피 이 기능은 Runtime에서 쓸 일은 많지는 않을 것 같지만, 내부적으로 Execute() 함수를 사용하기 때문에 Virtual Machine에서 사용할 수는 없는 기능입니다.

예상치는 못했던 새로운 기능이지만, 그동안 제가 받았던 ‘IDL에서 Equation Plot은 어떻게 하느냐’는 질문들이 있었다는 기억이 나네요.

곧 다시 소개해 드리겠지만, 8.3의 새로운 기능들은 아래 링크에서 확인해 보실 수 있습니다.

http://www.exelisvis.com/Support/HelpArticlesDetail/TabId/219/ArtMID/900/ArticleID/13694/IDL-83-Release-Notes.aspx