Matlab이란? 무엇인가? 우리는 왜 Matlab을 써야하는가? 일단 Matlab이란 파이썬과 비슷하게 자연어에 가까운 고수준 언어이다. 여기서 고수준이란 수준이 높다는 것이 아닌 기계어 (이진수로 표현된 010100) 보다 우리가 흔히 사용하는 자연어에 가까운 언어를 이야기한다. 

 

실상 Matlab자체가 기계어를 이해하고 싶어서 만든 것보다는 수학적 계산, 여러 신호 처리, 영상 처리, A.I.와 관련한 다양한 수치해석 등 다양한 형태에 대한 수치를 다루기 위해 만들어졌다. C언어 보다 더 고수준 언어이지만, 다양한 공학과 관련한 수학적 연산이 매우 빠르기에 많이 사용된다. 이전에 이야기한 Octave는 Matlab과 비슷하지만 Matlab을 따라가진 못한다. 그리고 우리의 선대가 만들어놓은 좋~은 함수가 많으므로 우리는 편하게 쓰면 된다. (물론 가져다 쓰는 것도 박사과정쯤 되면 못한다. 직접 만들어서 써야지 뭐... 굴러라 대학원생!)

 

요새 유명한 파이썬과도 비슷하다고 볼 수 있지만, 솔직히 공학과 관련한 연산은 Matlab이 매우 빠르기에 Matlab이 많이 사용된다. 빅데이터를 다루는 곳에서는 파이썬도 나쁘지 않은 선택이지만, 내 생각에는 다 써봐야 한다고 생각한다. 특정 범위에서는 Matlab이 이점이 있을 것이고 특정 분야에서는 파이썬이 좋을 것이다. 당연히 오픈 소스로써 파이썬은 좋은 대책이지만, 학생이라면 꼭 Matlab을 사용해보기를 추천한다. 정말 좋은 툴이다.  

 

이러한 여러 장점을 가지고 있음에도 Matlab이 쓰기 꺼려지는 가장 큰 이유는 무료가 아니라는 점이다. 다른 프로그래밍 언어와의 호환성이 떨어지는 점, 그리고 단순히 공학적 연산을 하기 위한 스크립트 언어라는 점을 탈피하기 위한 여러 노력을 하고 있다. Matlab코드를 Java, C, C++에 적용할 수 있게끔 노력하는 중이다. 요새는 버전업을 통해 범용성을 늘려가려는 노력을 많이 한다. (General Purpose Progrmming Language를 달성하기 위해 노력하는 듯하다.) - 요새는 4차 산업 혁명에 발 맞춰서 머신러닝과 딥러닝 등 A.I 설계과 모델링에 맞추고 있는 모습을 보인다. 

* kr.mathworks.com/

Matlab 홈페이지

 

처음 시작하면 이러한 모양을 볼 수 있다.

 

여러 가지를 타이핑 함으로 다양한 수치를 얻을 수 있는데, 

가장 간단한 계산인

 

>> 1 + 2

타이핑하고 확인할 수 있다.

 

간단한 계산에서부터 추가로 시각화할 수 있는 다양한 도구를 가지고 있다.

>> A = magic(7);
>> B = bar3(A);
>> colorbar

를 입력하면 ( * 그냥 입력해보자. 매트랩의 편안함을 보여주기 위함이다.)

이렇게 신박한 그래프를 바로 그려준다. (너무 간편해서 좋다.)

 

* 매트랩 자체가 수치 해석과 더불어 선형적인 모형을 다룰 수 있도록 설계되어 졌으므로 행렬(matrices)와 벡터를 사용하기 아주 편안하게 되어있다. (그래서 공대생은 매트랩을 쓰면 아주 편-안- 하게 느끼게 되는 것이다. 한번 써보면 헤어나올 수 없는 편안함 - 심지어 내가 설계 안했는데 석사 수준까지는 이미 준비되어 있는 편안함! 아 물론 없는건 만드셔야 합니다. 씽긋 ^ㅡ^)

 

 

 


대학교 때, 한창 매트랩(Matlab)을 사용했었다. 학교를 졸업하고 매트랩(Matlab) 다시 사용하기 위해 매트랩 공식 사이트에 접속해보니! 간단하게 사용하기에는 가격이 너무 비싼 가격을 형성하고 있다....

물론 프로그램을 만들기 위한 노력의 대가이긴 하지만, 가격이 너무 비싸서 시도를 해보고자 하는 학생은 써보지 못하는 것이 현실이라 생각한다. [가격이 라이센스 한개당, 연간 100만원 정도이거나 영구 라이센스를 구매하더라도 대략 260만원 정도 가격이다. 여기서 끝나면 무리해서 영구 라이센스 하나 사면 되지? 라는 생각이 들지도 모르겠으나, 여기에 툴박스가 추가 되면 대충 40~50만원 정도가 추가된다. 와우! 신난다.]

 

하지만 이러한 사악한 가격에도 쓸 수 밖에 없는 이유가 몇 가지 존재한다. 기업이나 학교에서 라이센스가 있어서 사용해보았다면, 매트랩에서 제공되는 다양한 라이브러리와 내가 직접 삽질을 하지 않다도 된다는 점은 굉장히 큰 장점으로 다가온다. 그래도 석˙박사를 논문을 쓰시는 분이라면 결국엔 라이브러리를 직접 만들어서 사용해야 하는 경우도 많다. 어찌 되었던 비싼 가격임에도 다양한 메리트가 있는 프로그램임은 분명하나 간단하게 매트랩과 비슷하며 호환가능한 프로그램을 찾는 사람 입장에서 쓸만한 프로그램을 찾았다.

 

  • 매트랩의 문법과 비슷하며
  • 매트랩과 호환성이 있다.
  • 다양한 사용환경에서 사용할 수 있다.

 

바로


GNU Octave 

GNU Octave 홈페이지 모습

GNU Octave라는 소프트웨어이다. 

GPL 라이센스를 따르는 무료 소프트웨어이므로 마음껏 쓰면 된다. Matlab으로 진행하는 간단한 프로그래밍 배우기에는 적합하다.

하지만 매트랩과 호환성을 얻기 위해 속도를 잃었기에 빠른 속도가 되진 못한다. 그리고 매트랩과 문법이 비슷하다고는 하지만 다른 부분이 있으므로 주의해야 한다.

 

Octave를 활용해서 그래프 그리기, 신호처리 및 해석 등 다양한 일을 할 수 있다. 라이트한 버전의 매트랩이라 생각하면 좋을듯 하다. 

 

 

+ Recent posts