회사에서 사용하는 제 컴퓨터에는 MATLAB 이 설치가 되어 있지만, MATLAB이 설치가 안 된 PC에서는 OCTAVE 를 주로 사용하고 있습니다. OCTAVE 는 MATLAB 과 거의 유사한 문법을 사용하고 있어서 MATLAB 에서 사용하던 코드의 대부분을 재사용 할 수 있습니다.

저는 최근에는 주로 실험 데이터에 대해 분석하는 용도로 MATLAB, OCTAVE 를 사용하고 있고 데이터는 장비에서 주로 CSV 파일 형태로 로깅을 하고 있습니다. CSV 형태로 로깅된 파일을 분석하기 위해서는 OCTAVE 에 해당 csv 파일의 경로를 알려줘야 합니다. 그래야 읽을 수 있을 테니까요~

매번 경로를 m 파일에 적어 주는 것도 가능 하지만 파일을 매번 열어서 적는것도 굉장히 귀찮은 일인 것 같습니다. 이럴 때 주로 아규먼트를 사용하고~ 오늘은 Command Line 에서 OCTAVE 아규먼트 사용 방법에 대해서 소개하려 합니다.

일단 커맨드라인에서 옥타브를 실행하기 위해서 OCTAVE 실행 명령을 알아야 될 겁니다. 아래 그림과 같이 옥타브 바로가기 아이콘에 오른쪽 클릭을 하고 속성을 확인해 보면~ 명령어가 나옵니다.

OCTAVE CLI 를 실행하는 명령어는 아래와 같고~

%SYSTEMROOT%\system32\wscript.exe "C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui

OCTAVE GUI 를 실행하는 명령어는 아래와 같습니다.

%SYSTEMROOT%\system32\wscript.exe "C:\Octave\Octave-5.1.0.0\octave.vbs" --force-gui

제 컴퓨터에서 실행을 해보니 앞에 붙어 있는 wscript.exe 까지의 구문은 없어도 실행이 되더군요~ 따라서 아래와 같이 실행할 수 있었습니다.

CLI : "C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui

GUI : "C:\Octave\Octave-5.1.0.0\octave.vbs" --force-gui

OCTAVE Command Line Options 관련 문서는 아래 주소에서 확인할 수 있습니다.

http://octave.org/doc/interpreter/Command-Line-Options.html

다른 것들은 필요할 때마다 검색을 해 보시면 될 거 같고~ 커맨드 라인에서 m 파일을 실행하기 위해서는 위 옥타브 실행명령어 뒤에 m 파일의 path 를 넣으면 되고~ m 파일에서 받고 싶은 아규먼트는 또 그 뒤에 적어 주면 됩니다. 따라서 아래와 같은 명령 형태가 됩니다. 아규먼트는 공백을 구분자로 하기 때문에~ 추가적인 아규먼트가 있다면~ 한 칸 띄고 계속 써 주면 됩니다. 혹시 path 에 공백이 있는 경우에는 전체 path 를 쌍따옴표로 감싸서 넣어 주면 됩니다.

"C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui mFILEPATH csvFILEPATH

m 파일에서 argument 는 argv() 를 통해 받을 수 있습니다. argv() 는 Cell 타입을 리턴합니다.

저는 아래와 같이 간단하게 test.m 파일을 만들어 봤고~

argvsV= argv()

class(argvsV)

csvPath=argv(){1}

pause(5)

Windows CMD 창에서 아래와 같은 명령어로 실행해 봤습니다.

"C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui test.m test.csv

그럼 새로운 CMD 창이 뜨면서 아래와 같이 옥타브 실행 결과를 볼 수가 있습니다.

커맨드 라인에서 위와 같은 명령어를 계속 타이핑 하는 것은 불편하므로 아래 포스팅을 참조하여 배치 파일을 만들어서 사용하는게 훨씬 더 간편 할 것입니다.

https://iamaman.tistory.com/988

많은 분들이 모르시는 것 같은데… 배치 파일 또는 실행 파일에 파일을 drag & drop 하면 해당 실행 파일의 아규먼트로 들어가게 됩니다.



회사에서 사용하는 MATLAB에 설치된 툴박스를 확인해 보니 Symbolic Math Toolbox 가 없어서 이에 대한 대체 프로그램으로 octave 를 사용하게 되었습니다. 물론 아래 포스팅에서 얘기했던 Python 의 sympy 와 같은 라이브러리를 사용해도 됩니다.

http://iamaman.tistory.com/1460

octave 는 아래 주소에서 다운로드 가능합니다. 사용하시는 운영체제에 맞는 설치 파일을 다운로드 해서 설치하시면 되겠습니다.

https://www.gnu.org/software/octave/download.html

octave command window 에서 아래와 같이 타이핑 하면 symbolic package 가 설치 됩니다.

pkg install -forge symbolic

설치 후에는 ver 라고 타이핑 해보면 아래와 같이 symbolic package 가 설치된것을 확인 할 수 있습니다.

symbolic package 를 사용할때는 아래와 같이 load 를 하고 사용하면 됩니다.

pkg load symbolic;

간단한 예제로 아래 포스팅에서 소개했던 원의 방정식에 대한 자코비안(jacobian) 매트릭스를 계산하는 방법에 대해 소개해 보려 합니다.

http://iamaman.tistory.com/2759

syms X Y % X Y symbolic 으로 정의

x = sym('x', [3,1]) % x = [a, b, r] 에 대한 symbolic 변수 정의

f= sqrt((X-x(1))^2+(Y-x(2))^2) - x(3) % 원의 방정식

jF = simplify(jacobian(f, [x(1), x(2), x(3)])) % jacobian 계산 및 simplify

결과는 아래와 같습니다.


nonlinear regression 등을 할때 jacobian 등을 많이 활용하게 되는데 octave 에 symbolic package 가 있어서 수식 계산할때 너무 편리한것 같네요.

이렇게 만들어진 수식은 아래 포스팅에서 소개했던 matlabFunction 함수를 사용하면 코드로도 변경이 됩니다. 그런데 MATLAB 에서는 다양한 옵션을 통해 코드 생성 결과를 다르게 할 수 있었지만 octave 에서는 function handle 의 형태로 나오는 것을 확인 할 수 있었습니다.

http://iamaman.tistory.com/202

jFFunc = matlabFunction(jF)

jFFunc =

@(X, Y, x11, x21) [(-X + x11) ./ sqrt((X - x11) .^ 2 + (Y - x21) .^ 2), (-Y + x21) ./ sqrt((X - x11) .^ 2 + (Y - x21) .^ 2), -1]

위 jacobian matrix 는 가장 마지막에 있는 -1 값이 고정 길이라 X, Y 가 벡터 입력인 경우 정상적으로 동작하지 않습니다. 따라서 아래와 같이 약간 수정해서 사용하면 되겠습니다.

jFFunc = @(X, Y, x11, x21) [(-X + x11) ./ sqrt((X - x11) .^ 2 + (Y - x21) .^ 2), (-Y + x21) ./ sqrt((X - x11) .^ 2 + (Y - x21) .^ 2), -ones(size(X))];



참고주소 : http://wiki.octave.org/Octave_for_Microsoft_Windows

 

Windows 에서는 octave GUI 환경이 정상적으로 동작하지 않아서 불편했는데

 

Octave 3.8 버전에서는 GUI 가 제대로 돌아가는 군요.

 

Octave 도 MATLAB 부럽지 않게 좋아 졌네요.

 

OCTAVE 3.8 windows 버전은 아래 주소에서 다운로드 가능 합니다.

 

http://mxeoctave.osuv.de/

 

official build 는 아니라고 하네요.

 

위 주소에서 아래 그림과 같이 다운로드 하시면 됩니다.



 

저는 portable 버전을 다운로드 했습니다. Install 하고 싶으면 install 버전을 다운로드 하시기 바랍니다.

 

다운로드 후에 octave-3.8.2-1-portable.7z 파일을 압축 해제 하시면 됩니다.

 

저는 현재 windows 7 64 비트인데요. 위 파일을 압축해제 해도 정상적으로 동작하지가 않더군요. GUI 는 뜨는데 그림이 제대로 그려지지 않았습니다.

 

그래서 찾아보니 아래 주소의 파일을 다운로드해서 압축을 해제한 폴더(octave-3.8.2) 에 위치 시키고~ octave-gui.bat 을 실행 시키면 됩니다.

 

http://mxeoctave.osuv.de/octave-gui.bat

 

실행 시켜 보니 아래 그림과 같이 OCTAVE GUI 환경이 나오는 것을 확인 할 수 있습니다.

 

마치 MATLAB 과 유사하게 Workspace, Command History, Command Window 등으로 구성되어 있더군요.

 

아래 그림과 같이 Command Window 에 입력 해보니~

 

정상적으로 그림이 나오네요.

 

종전에는 Cygwin에서 octave 를 주로 사용하곤 했는데, 앞으로는 octave 3.8 버전을 자주 사용하게 될 것 같네요.


  1. sjb 2014.09.22 21:12

    아무래도 정식 버전 나올 때까지 기다려야 겠어요. 전 다운 받으면 자동으로 설치될 줄 알았는데, 다운받은 거 아무리 찾아봐도 installer 는 없네요.

    • 남성 2014.09.23 00:15 신고

      제 포스팅의 설명은 portable 버전에 대한 설명입니다. Installer 버전은 위에 있는 Installer 에 있는 download 를 클릭해서 다운로드 받으시면 됩니다. 저는 Installer 버전도 설치 잘 되네요.

  2. male 2014.09.28 15:42

    좋은 정보 정말 감사합니다! 도움이 많이 되었습니다

    • 남성 2014.09.28 17:00 신고

      도움되었다니 다행이네요. 방문해 주셔서 감사합니다. ^^

  3. oct 2014.11.04 17:50

    제가 octave install 하여 설치하고 experimental line인가를 켰는데 error: C:/Users/?μ??? Invalid argument
    이렇게 뜨면서 command창에 그래프를 입력하려고해도 키가 안먹네요 무슨 방법 없을까요? ㅜ

  4. 비싼매틀랩 2015.03.02 22:07

    설치방법 찾다가 설명 잘보고 갑니다
    그런데 포터블이랑 인스톨해서 쓰는거랑 성능같은건 차이가 없는거죠??
    간소화버전인지.. 뭐가 크게 다른가요??

  5. 비싼매틀랩 2015.03.02 22:44

    하다보니까..저장이 안되는게 다른건가요?? 매틀랩도 별로 안써봐서 왕초본데 command window 내용이 저장이 안되는것같은데..혹시 그게 다른점인지요

    • 남성 2015.03.04 20:26 신고

      성능이나 기능이 차이가 잇는건 아닙니다. 그냥 설치를 해서 사용해야 하느냐 아니면 그냥 폴더 압축만 풀어서 사용하면 되느냐의 차이 입니다.

Octave statistics package 를 살펴 보다가 괜찬은 함수를 하나 발견했다.

 

바로 runlength 라는 함수인데~ runlength 함수는 아래 주소에서도 볼 수 있는 Run-length encoding 을 수행하는 함수이다.

 

http://en.wikipedia.org/wiki/Run_length

 

위 주소에도 설명되어 있듯이, Run-length encoding 방식은 가장 간단한 데이터 압축 방식으로서 반복되는 sequence 들을 반복 횟수로 표현하는 방식이다.

 

Runlength 함수는 다음과 같이 사용된다.

 

현재 윈도우 7 64 비트 Cygwin octave 에서 실험해 봤다.

 

위에도 기재했듯이 runlength 함수는 statistics package 에 들어있으므로 statistics package 를 설치해야 한다.

 

Package 설치 방법에 대해서는 아래 포스팅을 참조하기 바란다.


2013/09/14 - [programming language/Octave] - Cygwin Octave package 설치 방법


 

다음과 같이 반복되는 열들에 대해 ~ 반복 횟수를 표시해 준다.



아래 포스팅에서 C/C++, MATLAB 에서 Q-function 을 사용하는 방법에 대해 소개한 적이 있는데요~

2011/10/05 - [통신] - [C/C++] Q, erfc function


2011/03/19 - [programming language/MATLAB] - MATLAB erf, erfc, Q- function


오늘은 대표적인 MATLAB 클론이라 할 수 있는 OCTAVE에서 Erfc, Erf, Q-Function 사용하는 방법에 대해 소개하려 합니다.

 

현재 제 컴퓨터 환경은 윈도우 7 이고~ 64 비트 입니다.

 

아래 포스팅에서는 윈도우에서 OCTAVE 를 설치하는 방법에 대해 소개한 적이 있는데요~


2013/09/14 - [programming language/Octave] - Windows 에서 Octave 사용하기


오늘은 Cygwin OCTAVE 를 사용해 보겠습니다.

 

현재 저는 Cygwin 64 비트를 설치했고~ Cygwin terminal 에서 OCTAVE 라는 명령어를 쳐서 다음과 같이 OCTAVE를 실행 시킵니다.

 

Help qfunc 를 쳐서 qfunc 에 대한 설명을 보려 했더니 위 그림과 같은 메시지가 나오더군요.

 

Qfunc은 Communications Package 에 들어있는 함수이므로 OCTAVE Communications Package 를 설치해야 합니다.

 

Cygwin 에서 OCTAVE Communications Package 를 설치하는 방법 중 가장 쉬운 방법은 Cygwin installer 에서 아래 그림과 같이 Math category 를 다 설치하는 겁니다.

 

아래 그림과 같이 math category 에는 Communications Package 뿐만 아니라 다양한 Package 들이 있고 math category를 설치하면 대부분이 OCTAVE Package 들을 설치 할 수 있습니다.

 

Math category 에는 아래 그림과 같이 OCTAVE Package 외에도 다양한 라이브러리 들이 있으므로 설치해서 한번 쭉 보는 것도 공부가 될 것 같네요

 

현재 위 그림에서 저는 Communications Package 는 설치가 되어 있지만 단순히 OCTAVE 에 로드가 되지 않은겁니다.

 

저와 같은 경우라면 위 그림에서의 설명 대로 OCTAVE command window 에서 pkg load Communications 라고 하시면 됩니다.

 

다시 help qfunc 라고 하면 정상적으로 설명이 보이는 것을 확인 할 수 있고~ 이제 부터는 아래 그림과 같이 함수를 사용 할 수 있습니다.

 

아래 그림과 같이 erf, erfc, erfcinv, erfcx, erfi, erfinv 와 같은 함수들도 octave 에서 제공하니 편리하게 사용하시면 됩니다.



이전 포스팅에서 Cygwin 에서의 Octave 사용과 관련하여 간단하게 설명드린 바 있는데요~


2013/09/04 - [programming language/Octave] - Cygwin Octave plot() 안 될 때~


 


오늘은 좀더 구체적으로 package 설치하는 방법에 대해 설명하려 합니다.

 

octave 에는 다양한 package 들이 있는데요. Package 는 용도에 따른 함수 라이브러리 들입니다. MATLAB 의 툴박스와 같은 의미 입니다.

 

Octave 에서 사용가능한 Package 들의 목록은 아래 주소에서 확인 할 수 있습니다.

 

http://octave.sourceforge.net/packages.php

 

아래 그림과 같이detail 을 누르고 들어가서~ 보시면 아래 그림과 같은 Dependencies 가 있는데요~

Signal 1.2.2 버전의 package 를 설치하기 위해서는 Octave (>= 3.6.0) 3.6.0 버전 이상과 specfun (>= 0.0.0), control (>= 2.2.3), general (>= 1.3.2) 의 package 들이 미리 깔려 있어야 한다는 겁니다.

Octave 에서 ver 이라고 치면 아래 그림과 같이 현재의 Octave 버전과 Package 들이 보여지게 됩니다.

 

Octave package 를 설치하는 가장 쉬운 방법은 Octave 프로그램 상에서 아래 형식의 명령어를 사용하는 겁니다.


pkg install -forge 패키지 이름 –auto

 

–forge 는 octave-forge 사이트에서 자동으로 받으라는 것이고 –auto 는 해당 package 를 자동으로 load 하는 겁니다. –forge 옵션을 사용 할 때는 인터넷이 연결된 상태여야 합니다.

 

그럼 간단하게 audio package 를 설치하는 예를 실행해 보죠~

 

audio package 는 이름만 보셔도 아시겠지만 음원과 관련한 package 인데요~      Function Reference 를 확인해 보시면~ 음원을 재생하고 읽고 쓰고 하는 등과 같은 함수들이 들어있네요~

 

http://octave.sourceforge.net/audio/index.html

 

Octave Command 창에서 다음과 같이 명령어를 칩니다.

pkg install -forge audio –auto

 

다음과 같이 설치되는 것을 보실 수 있을 겁니다.

 

그리고 잘 설치 된 건가 확인 하기 위해 audio package 의 함수 중 하나인 soundsc() 함수에 대한 help 를 볼까요~ 잘 설치된 걸 확인 할 수 있습니다.

 

그럼 즐거운 Octave 프로그래밍 되시길~


  1. 2014.04.08 01:35

    비밀댓글입니다

    • 남성 2014.04.08 03:15 신고

      cygwin octave 에서 그래프가 안그려 진다는 거죠?
      아래 글 참조해서 x 윈도우에서 해 보시기 바랍니다.
      http://iamaman.tistory.com/706

MATLAB 과 마찬가지로 Octave 도 함수들의 사용방법을 확인 할 때는 Help 또는 Doc 명령어를 사용 합니다.

 

Doc 는 Document 명령어의 약자로 Help 보다 좀더 자세한 내용들을 담고 있어서 정확한 이해가 필요할 때 주로 사용하는데요~

 

아래 그림과 같이 Octave 에서 doc 명령이 제대로 동작을 안 할 때가 있습니다.



Octave에서 Document 가 제대로 보이게 하기 위해서는 터미널에서 아래 명령어를 통해 Octave Document를 설치해 줘야 합니다.

 

sudo apt-get install octave-info

 

이제 Octave 터미널에서 doc fft 하면 다음과 같이 정상적으로 동작하는 것을 확인 할 수 있습니다.


Windows 에서 Octave 를 사용하는 방법은 크게 세가지 정도가 있습니다.

 

첫 번째로는 아래 포스팅에서 설명드렸던 Cygwin 을 사용하여 Octave를 사용하는 방법과

 

두 번째로는 VirtualBox 를 사용하여 리눅스와 같은 OS를 설치한 다음 그 안에서 Octave 를 사용하는 방법

 

그리고 세번째로는 오늘 설명 드릴 Binary 로 빌드된 Octave 를 설치하는 방법입니다.

 

아주 예전에 아래 포스팅에서 Windows에서 Octave 사용 방법에 대해 간략히 설명드린 적이 있는데~ 아래 글에서 소개했던 다운로드 링크를 다시 가보니 정상적으로 다운로드가 안 돼더군요.



2011/04/17 - [유틸] - GNU Octave 를 이용해 보자


 

Octave Windows Binary 파일은 아래 주소에서 다운로드 할 수 있습니다.

http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/

 

현재의 Octave 최신 버전은 3.6.4 버전이네요.

 

위 주소에서 보면 각 Octave 버전 별로 두 가지 파일이 있습니다.

 

첫 번째는 Visual studio 사용을 위한 Octave 이고

 

두 번째로는 MinGW 사용을 위한 Octave 입니다.

 

오늘 포스팅에서는 첫번째 방법인 Visual studio 사용을 위한 Octave 설치 방법에 대해 설명하려 합니다.

 

위 그림 중 첫번째 링크인 Octave 3.6.4 for Windows Microsoft Visual Studio 를 클릭하고 들어가서~

 

http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.4%20for%20Windows%20Microsoft%20Visual%20Studio/

 

아래 그림과 같이 octave-3.6.4-vs2010-setup.exe 파일을 다운로드 받고 설치를 진행 합니다.

 

설치야 뭐 다음~ 다음~ 하면 되지만 아래 그림과 같은 화면이 나타나면~ Octave Forge 를 꼭 체크 해 주시기 바랍니다.

 

Octave Forge 옵션은 MATLAB 의 툴박스와 같은건데~ 다양한 package 들이 들어있습니다.

 

중간에 자바 관련 warning 이 뜰 텐데, java package 를 사용하실 게 아니면 그냥 확인 하고 넘어가도 됩니다.

 

Java Package를 사용하실 거라면 당연히 JAVA 가 설치되어 있어야 겠죠~

 

설치가 완료 되면~ C:\Software\Octave-3.6.4 에 설치 되게 되고~

 

실행해 보시면~ 아래 그림과 같이 나타납니다.

 

Pkg list 라고 명령어를 쳐서~ 설치된 package 들을 확인 합니다.

 

아래 그림과 같이 설치된 package 들이 쭉~~ 나와야 정상입니다. 아래와 같은 화면에서 Q 를 누르면 원래 command 화면으로 돌아옵니다.

 

 



다음으로 Octave 와 같이 사용할 Editor 설정에 대해 설명 드립니다. 아무 에디터나 사용해도 상관이 없지만, 보통 Notepad++ 와 같이 사용합니다.

 

Notepad++ 는 아래 주소에서 다운로드 받을 수 있습니다. Install 버전과 zip 버전 중 기호에 따라 아무거나 선택해서 설치 합니다.

 

http://notepad-plus-plus.org/download/v6.4.5.html

 

처음에 edit 라고 치면 아래 화면처럼 아무것도 안 나옵니다.

 

Notepad++ 설치 후에 C:\Software\Octave-3.6.4\share\octave\site\m\startup\octaverc 파일을 엽니다.

 

파일의 맨 아랫줄에

EDITOR('에디터 실행 파일의 path');

를 적고 저장해 줍니다.

 

보통 윈도우 32 비트에서 notepad++ 를 설치 한 경우 C:\Program Files\Notepad++\notepad++.exe 와 같고~

 

64 비트일 경우에는 C:\Program Files (x86)\Notepad++\notepad++.exe 일 겁니다.

 

저는 zip package 를 사용해서 아래 그림과 같이 썼고 octaverc 파일을 저장 후 닫아 줍니다.


이제~ Octave 를 재 실행 시키고~ edit 라고 칩니다. 그럼 방금 설정했던 notepad++ 실행됩니다.

 

Notepad++ Octave 에디터로 사용하게 거죠~

 




이제 마지막으로 Octave 에서 Visual C++ 컴파일러 사용을 위한 셋팅에 대해 설명 드립니다. C-mex 등을 사용하실 게 아니라면 아래 내용은 굳이 볼 필요 없습니다.

 

요즘은 아래 포스팅에서도 설명 드렸지만 Visual studio Express 를 무료로 용할 수 있습니다.

 

아래 주소에서 Visual studio Express 를 다운로드 받고 설치 합니다.

 

http://www.microsoft.com/visualstudio/kor/downloads#d-express-windows-desktop

 

아래 그림과 같이 지금 설치를 눌러서 파일을 다운로드 받고 설치하면 됩니다. 설치 시간은 좀 걸리더군요.

 

설치가 완료되면 이제 환경변수 설정하는 것만 남았습니다.

 

Command 창에서 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat 를 실행시킵니다. 위에서도 말씀 드렸지만 저는 64 비트 운영체제이고~ 32비트의 경우에는 path 가 다를 겁니다. 각자 컴퓨터에서 확인 후에 vcvarsall.bat 를 command 창에서 실행 시키면 됩니다.


 

위 명령어를 실행 후에 해당 command 창에서 octave 를 실행 시킵니다.

 

간단하게 실행 시키는 방법은 아래 그림과 같이 octave 링크를 드래그 해서 command 창에 놓고 엔터를 쳐서 실행 시키는 겁니다.

 

이제 Octave 에서 위에서 설치한 Visual C++ Compiler 를 사용 할 수 있습니다.

 

이번 포스팅에서는 C-mex 의 사용 방법에 대해서는 설명드리지 않습니다.

 

글이 길어 졌네요. 오늘 포스팅은 여기까지만 하겠습니다.


윈도우에서 리눅스 명령 또는 툴들을 사용할 때 GOW 도 사용하지만


2012/11/11 - [유틸] - GNU On Windows 를 이용하여 Windows 에서 Linux 명령어 사용하기


많은 분들이 훨씬 더 많은 기능을 담고 있는 Cygwin 을 주로 사용하실 텐데요~


아래 주소의 Cygwin 홈페이지를 가보니 요즘은 64 비트 Cygwin 도 나왔더군요.

 

http://cygwin.com/install.html

 

32 비트를 설치하시려면~ setup-x86.exe 파일을,  64 비트를 설치하시려면~ setup-x86_64.exe 파일을 다운로드 받아서 설치하시면 됩니다.

 

 

저도 요즘은 64 비트 윈도우를 사용하다 보니 64 비트 Cygwin 을 낼름 깔아 봤습니다.

 

설치 방법은 밑에 글 참조 바랍니다. 

2012/10/07 - [유틸] - Cygwin에서 간단히 C 코딩해보기~

 

제 블로그에서는 MATLAB 을 주로 설명하지만 리눅스에서는 Octave 라는 MATLAB 과 굉장히 유사한 프로그램이 있습니다.

 

Cygwin 에서 Octave 를 설치하실 때, Octave 는 Math 카테고리에 있으니깐 Math 옆의 Default 라고 되어 있는 글을 클릭해서 Install 로 바꿔준 후에 설치하셔야 합니다.

 

 

기쁜 마음으로 ~ Cygwin64 Terminal 에서 다음과 같이 Octave를 실행했습니다.

 

뭐 당연히~ 잘~~ 실행 되더군요.

 

그래서 간단히 사용을 해 봤죠.

 

x=linspace(0, 2*pi,100);

y=sin(x);

plot(x,y)

 

간단하게~ sin() 그래프 그리는 건데…. 헉!! 아래와 같은 메시지가 나오면서 에러가 뜨더군요.

 

0 [main] octave-3.6.4 4852 child_info_fork::abort: ……………. 어쩌구 저쩌구… 블라 블라~


 

그래서 32 비트에서도 해보니 아래와 같이 잘 나오더군요.

 

64 비트에서는 안 되는게 이상해서 구글링을 해보니 아래 글의 중간 정도에 해결 방법이 있었습니다.

 

http://octave.1599824.n4.nabble.com/Octave-3-6-x-for-windows-td4649424.html

 

아래 첨부한 rebaseall_example.bat 파일을 C:\cygwin64 폴더에 다운로드 한 후에~ 아래 그림처럼 관리자 권한으로 실행해 줍니다.


rebaseall_example.bat


 

 

rebaseall_example.bat 파일 내용 >

@echo off

 

cd bin

 

dash -l -i -c "echo ' !! Starting rebasing. Be patient !! \n' ; rebaseall "

 

echo .

echo !! No rebaseall errors ? Than done and fine, !!

echo !! otherwise you have others cygwin process running !!

echo .

 

pause

 

조금 기달렸다가~ 아래와 같은 화면이 나오면 해당 화면을 닫아 주시면 문제가 해결됩니다.

 

이제 Octave 를 다시 실행 시키고 그래프를 그려 볼까요?

 

이제 아래 그림처럼 촤라락~~ 하고 그래프가 나오는 것을 확인 할 수 있습니다.

 

물론 예쁜 그림은 아니지만~


MATLAB 을 대체 할 만한 공학 프로그램으로 이전에 scilab 을 소개한 적이 있습니다.

   

2011/03/11 - [MATLAB] - SCILAB


오늘은 또 다른 오픈소스 프로그램으로서 MATLAB 과 문법이 굉장히 유사한 GNU Octave 에 대해 소개 합니다.

 

일단 다음 페이지에서 다운로드 가능 합니다.

 

http://www.gnu.org/software/octave/download.html

 

위 주소에 가 보시면 GNU 프로그램이니 만큼 source code 뿐만이 아니라 Binary 파일을 제공해 주는군요.

 

Linux , Mac OS X, Windows , Sun Solaris …. 와 같이 널리 사용되는 운영 체제에 대해서는 binary 파일을 제공해 주니깐 자신의 운영 체제에 맞게 다운로드 후

 

설치 하시면 되겠습니다. 


설치 후 실행을 해 보니 다음과 같은 창이 뜨네요. 

 

문법이야 MATLAB 이랑 너무 비슷해서 MATLAB 을 사용할 줄 아신다면 그냥 바로 이용할 수 있습니다.

 

설치를 하게 되면 pdf 및 html 로 약 700 page 에 달하는 document 가 제공되는데요.

 

document도 굉장히 잘~ 정리가 돼서 보기 좋군요. 




간단하게 sine 그래프 하나 그려 볼까요.

 

 

특이 한 점은 plot() 에 세미 콜론을 안 붙이니깐 위 코드에서 보는 바와 같이 warning 이 뜨는군요.

 

그래프는 아래 그림처럼 나오네요. 

 

MATLAB 그래프에 비해 좀 투박한 느낌이 들긴 하지만, 공짜인데 이 정도면 훌륭하다고 생각되네요.

 

document 를 쭉~ 훑어 보니…. 이거 완전 공짜 MATLAB 이잖아~~ 하는 생각이 드네요.

 

너무 좋군요.


+ Recent posts