수치 해석(numerical analysis)분야에서 독보적인 위치를 차지하고 있는 툴은 단연 MATLAB이다. 수치 해석에 특화된 독자적인 스크립트 언어를 가지고 있고 (문법 구조가 robust하지 않다는 평이 있긴 하지만) 다양한 분야에 적용가능한 toolbox와 폭넓은 이용자층, 개발사의 적극적 지원 등 장점이 많은 툴이다. java로 개발되어서 실행하려면 jvm을 먼저 설치해야 한다. (물론 jvm의 성능이 비약적으로 향상되었긴 하지만 속도면에서 불리한 면이 있지 않을까하는 짐작이 든다.)



 단점은 역시 꽤 고가의 툴이라는 점이며 이 점때문에 학부생들이나 가볍게 배워보려는 이들에게는 실습 도구로 사용하기에 적합하지 않다. 개발사인 mathwork사에서 라이센스를 꽤 엄격하게 관리하고 있기도 하다. (라즈베리파이에는 무료로 제공된다는 얘기도 있는데 아직 확인을 못 해 봤다. 그리고 그 사양 위에서 matlab이 원활하게 실행될 것 같지도 않다.) 국내에서 출판된 공학 수학 교재들 중에 MATLAB을 보조적으로 사용하는 것들이 있는데 이런 점에서 적절치 않다고 생각한다.


 다른 대안이 없는 것은 아니다.일단 Octave라는 걸출한 오픈 소스 프로그램이 있는데 Matlab과의 문법 호환성이 거의 100%라서 기본적인 코드는 거의 변환 없이 실행이 가능할 정도이므로 학부생들의 기초 교육은 이것을 사용하면 된다. 그동안 gui 환경이 갖춰지지 않아서 불편했는데 (베타 버전이긴 하지만) 최근에는 gui환경도 지원하기 시작해서 더욱 고무적이다.


 그 외에도 scilab이 있는데 scilab은 유럽 등지에서는 꽤 유명하고 널리 쓰이는 수치해석 툴로써 무료로 사용할 수 있는 프리웨어이다. 하지만 개인적으로는 matlab과는 많이 동떨어진 문법을 가지고 있고 익히기도 꽤 어려웠다는  경험이 있다. 그리고 freemat 이라는 것도 있는데 matlab과 100%호환되는 툴을 지향하고 개발되기 시작했으나 2013년 이후로 개발이 중지된 것 같다. 최근에는 python+numpy 라는 (역시 오픈소스) 떠오르는 방법도 있다. (필자는 이것을 가장 추천하는 편이다.)


 모든 개발 환경이 클라우드로 옮겨가고 있는 추세이다. matlab은 아니지만 가장 간편하게 (무료로) matlab 코드를 실행시킬 수 있는 방법은 온라인 옥타브이다. 접속하면 바로 코딩이 가능하고 그 결과를 즉시로 확인해 볼 수 있다.



위 그림에서와 같이 plot()명령의 결과도 바로 확인할 수 있다. 단, scrip파일을 작성하려면 로그인을 해야 한다.


mathclouds 라는 사이트도 있다. 여기에서도 matlab 문법을 지원한다.


matlab 실습을 가장 간편하게 할 수 있는 방법은 이러한 서비스들을 사용하는 것이다.



Posted by 살레시오
,