본문으로 이동

GNU 옥타브

위키백과, 우리 모두의 백과사전.

GNU 옥타브
GNU Octave
개발자존 W. 이튼
발표일1988년
안정화 버전
3.8.1[1] / 2014년 3월 7일; 2015년 5월 29일; 2016년 3월 21일; 2016년 4월 21일; 2016년 7월 2일; 2016년 11월 14일; 2017년 2월 24일; 2014년 8월 7일; 2013년 12월 27일; 2013년 2월 21일; 2012년 9월 4일; 2012년 2월 22일; 2012년 1월 15일; 2011년 10월 10일; 2011년 6월 24일; 2011년 6월 15일; 2011년 2월 8일; 2010년 1월 22일; 2009년 9월 14일; 2009년 7월 21일; 2009년 6월 5일; 2009년 4월 7일; 2009년 4월 1일; 2008년 9월 29일; 2008년 8월 19일; 2008년 4월 23일; 2007년 12월 21일; 2007년 12월 11일; 2007년 12월 5일; 2007년 11월 10일; 2007년 10월 31일; 2007년 10월 13일; 2007년 9월 17일; 2007년 7월 25일; 2007년 5월 23일; 2007년 5월 22일; 2007년 3월 27일; 2006년 10월 2일; 2006년 8월 24일; 2006년 7월 28일; 2006년 6월 9일; 2006년 3월 22일; 2006년 3월 20일; 2005년 11월 11일; 2005년 11월 11일; 2005년 5월 18일; 2005년 5월 18일; 2005년 5월 5일; 2005년 4월 22일; 2005년 3월 28일; 2005년 3월 27일; 2005년 3월 27일; 2005년 3월 15일; 2005년 3월 4일; 2005년 2월 24일; 2005년 2월 18일; 2004년 12월 3일; 2004년 11월 17일; 2004년 11월 12일; 2004년 11월 5일; 2004년 9월 24일; 2004년 9월 21일; 2004년 9월 2일; 2004년 3월 12일; 2004년 3월 5일; 2004년 2월 20일; 2004년 2월 16일; 2004년 1월 22일; 2003년 11월 25일; 2003년 6월 27일; 2003년 5월 28일; 2003년 5월 6일; 2003년 5월 2일; 2003년 3월 3일; 2003년 2월 19일; 2003년 2월 3일; 2003년 1월 4일; 2003년 1월 2일; 2003년 1월 2일; 2002년 11월 20일; 2002년 11월 1일; 2002년 10월 29일; 2002년 10월 23일; 2002년 5월 1일; 2001년 11월 2일; 2001년 4월 19일; 2001년 1월 5일; 2000년 12월 9일; 2000년 7월 18일; 2000년 3월 31일; 2000년 3월 24일; 2000년 2월 8일; 2000년 2월 8일; 2000년 2월 8일; 2000년 1월 28일; 2000년 1월 12일; 1999년 12월 17일; 1999년 12월 14일; 1999년 11월 10일; 1999년 11월 3일; 1999년 10월 21일; 1999년 10월 20일; 1999년 10월 13일; 1999년 10월 13일; 1999년 10월 13일; 1999년 3월 30일; 1999년 1월 27일; 1998년 12월 10일; 1998년 12월 4일; 1998년 11월 6일; 1998년 11월 3일; 1998년 10월 29일; 1998년 5월 15일; 1998년 5월 4일; 1998년 2월 22일; 1998년 2월 5일; 1997년 11월 19일; 1997년 7월 11일; 1997년 6월 12일; 1997년 6월 5일; 2002년 4월 12일; 1998년 5월 21일; 1998년 5월 3일; 1998년 2월 24일; 1998년 2월 6일; 1997년 7월 10일; 1997년 6월 23일; 1997년 6월 4일; 1997년 5월 27일; 1997년 3월 1일; 1997년 2월 20일; 1997년 2월 18일; 1997년 1월 27일; 1997년 1월 7일; 1996년 12월 10일; 1995년 2월 23일; 1995년 1월 12일; 1994년 3월 9일; 1994년 2월 17일; 1994년 2월 13일; 1994년 2월 8일; 1994년 1월 28일; 1994년 1월 18일; 1993년 11월 8일; 1993년 11월 5일; 1993년 10월 29일; 1993년 10월 23일; 1993년 10월 5일; 1993년 10월 4일; 1993년 9월 27일; 1993년 9월 25일; 1993년 9월 17일; 1993년 9월 15일; 1993년 8월 11일; 1993년 7월 20일; 1993년 7월 11일; 1993년 7월 10일; 1993년 7월 8일; 1993년 7월 5일; 1993년 6월 10일; 1993년 6월 3일; 1993년 6월 1일; 1993년 5월 27일; 1993년 5월 21일; 1993년 5월 18일; 1993년 5월 12일; 1993년 5월 11일; 1993년 5월 1일; 1993년 4월 19일; 1993년 4월 15일; 1993년 3월 8일; 1993년 2월 23일; 1993년 2월 16일; 1993년 2월 9일; 1993년 1월 28일; 1993년 1월 26일; 1993년 1월 15일; 1993년 1월 14일; 1993년 1월 13일; 1993년 1월 10일; 1993년 1월 4일; 2003년 11월 15일; 2018년 3월 13일; 2018년 4월 30일; 2018년 8월 9일; 2019년 2월 23일; 2020년 1월 31일; 2020년 11월 26일; 2021년 2월 20일; 2021년 7월 11일; 2021년 10월 30일; 2022년 4월 6일; 2022년 7월 28일; 2022년 11월 2일; 2023년 3월 7일; 2023년 4월 13일; 2023년 8월 8일; 2023년 11월 5일; 2024년 3월 14일; 2024년 6월 7일; 2024년 12월 15일 (오류: 첫 번째 변수를 날짜나 시간으로 식별할 수 없습니다.)
저장소
프로그래밍 언어C++
플랫폼크로스 플랫폼
언어19개 언어
종류과학 연산
라이선스GPL
웹사이트gnu.org/software/octave

옥타브(Octave)는 수치해석용 자유 컴퓨터 소프트웨어로서, MATLAB과 호환성이 높다. 옥타브는 GNU 프로젝트의 하나이다. 옥타브는 매스매티카같은 컴퓨터 대수 체계가 아니라 과학적 계산을 위한 도구이다.

역사

[편집]

1988년 경부터 아이디어가 시작되었다. 처음에는 화학반응기 설계 강좌에서 사용할 목적이었다. 1992년 존 W. 이튼(John W. Eaton)이 실질적인 개발을 시작했다. 1993년 1월 4일에 최초의 알파 배포판이 나왔으며, 1994년 2월 17일에는 정식버전 1.0이 배포되었다. 2017년 2월 24일에는 4.2.1 버전이 배포되었다.

이름은 음악의 옥타브와 아무런 관련이 없다. 옥타브란 이름은 특정 수치계산 문제의 좋은 근사치를 빨리 내놓는 것으로 유명했던 초기 개발자들 가운데 한 명인 옥타브 레벤스필 교수의 이름에서 따온 것이다.

기술적인 상세설명

[편집]
  • 기본적으로 매트랩과 동일한 문법을 가지고 작성된다.
  • 옥타브는 C++ 표준 라이브러리를 사용하여 C++로 만들어졌다.
  • 옥타브는 옥타브 스크립트 언어를 실행하는 인터프리터를 사용한다.
  • 옥타브는 동적으로 로드할 수 있는 모듈을 사용해서 확장할 수 있다.
  • 옥타브 인터프리터는 gnuplot과 Grace software와 연계해서 표와 그래프, 차트를 만들 수 있고, 그것들을 저장하거나 인쇄할 수 있다.

프로그램언어로서의 옥타브

[편집]

옥타브 언어는 인터프리트 형식의 프로그래밍 언어다. C언어처럼 구조적 프로그래밍 언어이며 많은 일반적인 C 표준 라이브러리 함수를 지원하고 유닉스 체계의 call과 함수를 지원하도록 확장될 수 있다. 그러나 주소 참조를 이용한 함수 파라미터 넘겨주기는 불가능하다.

옥타브 프로그램은 함수요청이나 스크립트의 목록으로 구성된다. 언어는 행렬에 근거하며 행렬 연산용의 다양한 함수를 제공한다. 옥타브는 객체지향 프로그램은 아니지만, 자료 구조체를 지원한다.

문법체계는 매트랩과 매우 닮았으며 신중하게 스크립트를 프로그램하면 옥타브와 매트랩에서 함께 실행될 수 있다. 그러나 세부적인 명령어 특히 플로팅관련은 gnuplot에 전적으로 의지하기 때문에 matlab과 차이를 피할 수 없다. 실제로 octave를 이용한 그래프작성은 gnuplot의 명령에 대한 지식이 필요하며 gset 또는 __gnuplot_set__의 함수를 이용하여 gnuplot에 직접 전달하여야 한다.(버전 2.1.73에서)

옥타브가 GNU GPL 아래에서 만들어졌기 때문에, 자유롭게 복사하여 사용될 수 있다. 프로그램은 유닉스와 유닉스 계열 운영체계에서뿐 아니라 마이크로소프트 윈도우 운영 체제에서도 실행된다. 현재 윈도에 설치할 수 있는 버전은 시그윈을 이용하는 것과 시그윈 없이 독립적으로 윈도 시스템에 설치하는 방법이 있는데 버전 2.1.73에서는 시그윈이 없는 상태에서는 최소한의 시그윈 시스템을 구축하는 식으로 설치한다. 두 경우 모두 한글로 된 파일이름이나 변수의 사용에 문제가 있어 영문으로 된 디렉터리에 접근하는 것이 안전하다.

주목할 만한 특징들

[편집]

명령어와 변수명 완성

[편집]

탭 완성(TAB completion)을 지원한다. 즉, 명령 라인에서 처음 몇 글자만 입력한 상태에서 탭(TAB) 문자를 입력하면 입력된 글자 시작이 일치하는 변수와 함수, 파일 이름을 완성한다.

명령어 기록

[편집]

인터렉티브 모드로 실행할 때, 옥타브는 기존에 입력한 명령어를 내부 버퍼에 저장하고 있으며 이렇게 기록된 명령어는 나중에 편하게 불러서 다시 쓸 수 있다.;

자료 구조

[편집]

옥타브는 몇가지 자주 사용하는 자료구조를 지원한다. 다음은 그 예이다.

octave:1> x.a = 1; x.b = [1, 2; 3, 4]; x.c = "string";
octave:2> x.a
x.a = 1
octave:3> x.b
x.b =

  1  2
  3  4

octave:4> x.c
x.c = string

같이 보기

[편집]

각주

[편집]

외부 링크

[편집]