옥타브(Octave)는 수치해석용 자유 컴퓨터 소프트웨어로서, MATLAB과 호환성이 높다.
옥타브는 GNU 프로젝트의 하나이다. 옥타브는 매스매티카같은 컴퓨터 대수 체계가 아니라 과학적 계산을 위한 도구이다. 쉽게 말하면, Matlab 프로그램에 대한 GPL(General Public License) , Matlab의 무료버전이라고 생각하면 된다.
위의 Bookmark에서 install이 가능하며, Linux, macOS, Windows 환경 모두 지원한다. 본인은 미래자동차/로봇프로그래밍 class에서, SLAM Example code를 작성하고 돌려보고자 유료인 Matlab 대신하여 octave를 설치 후 사용하였다.
Matlab과 문법적으로 완벽하게 일치하지는 않지만 .m 파일을 무료로 구동시켜볼 수 있다는 것에서 큰 메리트가 있다고 생각한다. 추가로 오픈소스인 octave는 간단한 Matrix계산을 할 때, 매우 유용할 것 같아 Matlab license가 생기기 전까지는 애용하고자 한다.
Octave에 대한 간단한 설명
- Technical description
- 기본적으로 매트랩과 동일한 문법으로 작성된다.
- C++ 표준 라이브러리를 사용하여 만들어졌다.
- 스크립트 언어를 실행하는 인터프리터 사용한다.
- 동적으로 load할 수 있는 모듈을 사용해서 확장이 가능하다.
- 옥타브 인터프리터는 gnuplot & Grace software와 연계해서 표와 그래프, 차트를 만들 수 있고, 저장하거나 인쇄할 수 있다.
- As a Programming language Octave
- 인터프리터 형식의 프로그래밍 언어이다.
- C언어와 같이 구조적 프로그래밍언어이며, 많은 일반적인 C 표준 라이브러리 함수를 지원한다.
- 유닉스 체계의 call과 함수를 지원하도록 확장될 수 있다. 그러나 주소 참조를 이용한 함수 파라미터 넘겨주기는 불가능하다는 점을 유의해야 한다.
- 언어는 행렬에 의거하며 행렬 연산용의 다양한 함수를 제공한다.
- 객체지향 프로그램은 아니지만, 자료 구조체를 지원한다.
- 매트랩과 매우 문법적으로 유사하지만, 세부적인 명령어 특히 플로팅관련해서는 gnuplot에 전적으로 의지하기 때문에 차이가 있을 수밖에 없다.
- 실제, octave를 이용한 그래프 작성은 gnuplot 명령에 대한 지식이 필요하며, gset or gnuplot_set 함수를 이용하여 gnuplot에 직접 전달하여야 한다. (version 2.1.73에서)
Reference
'Tools & Tips > Octave' 카테고리의 다른 글
[octave] Using Octave tutorial - octavehelp.m 옥타브 튜토리얼! (0) | 2020.01.07 |
---|