MATLAB은 수치해석(numerical analysis)을 수행하는 대표적인 프로그램이다. 원래 MATLAB은 Cleve Moler에 의해 처음에는 Fortran으로 작성되어 DOS상에서 구동 가능한 소규모 수치해석 프로그램으로 출발하였으나, 현재는 미국의 MathWorks사에 의해 java virtual machine 위에서 구동되는 (따라서 대부분의 OS를 지원한다.) 대규모 패키지 프로그램으로 발전하였다.



 MATLAB은 수치 해석에 특화된 언어 문법을 가지고 있으며 친숙한 수학적인 기호와 간단한 문법으로 복잡한 계산을 수행할 수 있다. 전형적인 이용 범위는 다음과 같다.

  • 수학과 관련된 계산

  • 알고리즘 개발

  • 상황 모델링과 data분석

  • 여러 가지 과학과 공학적인 그래픽적 표현

  • GUI(Graphical User Interface)에 의한 에플리케이션 개발

 현재 MATLAB은 학계나 연구소등에서 광범위하게 사용되고 있으며 사실상 수치해석툴의 표준으로 자리잡고 있다. 이 프로그램은 범용으로 사용되는 프로그램언어인 C나 C++과는 달리 전문적으로 수치 계산을 하기 위한 프로그램이다.


 간단한 예로 행렬의 곱셈을 들어 보자. 두 개의 행렬을 곱셈하는 프로그램을 C언어로 작성하려고 한다면 2차원 배열을 두 개 잡아서 두 행렬을 각각 저장한 후 반복문 (for 나 while 같은 반복문 명령)을 중첩해서 사용해야 계산 결과를 얻어낼 수 있다. 계산결과를 화면에 출력하거나 파일로 저장하는 추가적인 루틴도 작성해야 한다.



하지만 MATLAB에서는 간단하게 한 줄의 명령으로 이를 수행할 수 있다.



또한 미분방정식의 해나 적분등도 쉽게 계산할 수 있으며 그 결과를 그래픽으로 보여주는 기능 또한 다양하다. 이러한 수학 계산들을 C 혹은 C++이나 다른 범용 프로그래밍 언어로 구현하려고 한다면 고려해야할 사항이 한두 가지가 아닐 것이다.


 이처럼 MATLAB은 강력한 수학적인 능력을 갖고 있고 다양한 분야에 특화된 여러 toolbox(일종의 라이브러리임)를 갖추고 있으며 simulink라는 비쥬얼 모의 실험 환경과 같은 특수한 툴들을 갖추고 있다. 이러한 장점들에 의해서 수치 해석 툴의 강자로 자리매김하고 있다.



Posted by 살레시오
,