소프트웨어/Octave

[Octave] 4. octave, 옥타브 기본 사용법 (옥타브 처음 사용하기)

리습 2021. 4. 7. 07:38

>> A = 3; B = 7;
>> C = A+B
C = 10
>> D = A-B
D = -4
>> E = A*B
E = 21
>> F = A^B
F = 2187
>>

안녕하세요. 리습입니다.

오늘은 옥타브에 기본 사용법에 대하여 알아보도록 하겠습니다. 

옥타브는 매우 직관적인 프로그램입니다. 기본적인 변수 선언 법, 기본적인 연산자, 그리고 스크립트 사용 방법만 이해하시더라도 사용하는데 전혀 무리가 없습니다. 그러면 기본적인 부분을 하나씩 알아보도록 하겠습니다.

변수 만드는 법, 사용하는 법

프로그램을 작성할 때 가장 먼저 사용하는 것은 바로 '변수'입니다. 변수는 데이터를 저장하는 공간입니다. 변수는 다음과 같이 명령 창 (Command Window)에서 사용할 수 있습니다.

>> variable = 10
variable = 10
>>

변수명을 작성해주고 그 변수에 넣어줄 값을 입력합니다. 그리고 엔터(Enter)를 누르게 되면, octave는 그 변수명과 넣은 값을 다음과 같이 다시 reply 해주게 됩니다. 다시 그 값이 나타나지 않도록 하고 싶다면 코드 마지막에 ; 를 작성해주면 됩니다. 

>> variable = 10;
>>

그럼 입력된 값이 나타나지 않게 됩니다. 변수를 만들었기 때문에 우리는 작업공간(Workspace)에서 변수를 확인할 수 있습니다.

작업 공간(Workspace)에 표기된 변수

작업 공간에서 우리가 만든 변수명, 변수의 형식(Class), 차원 (Diemnsion), 현재 값(Value) 등을 확인할 수 있습니다. 이에 대한 자세한 설명은 이후 변수에 대하여 자세히 알아볼 때 설명드리도록 하겠습니다. 이렇게 만든 변수는 명령 창에서도 코드를 통해 수정할 수 있지만, 변수 편집기(Variable Editor)를 통해서도 수정할 수 있습니다. 작업 공간 (Workspace)에서 변수명을 클릭하면, 변수 편집기가 다음과 같이 나타날 것입니다.

변수 편집기 (variable editor) 로 확인한 변수

마치 엑셀의 한 sheet처럼 표로 변수가 나타나 있는 것을 보여줍니다. 이는 Octave가 행렬 연산을 편리하고, 빠르게 사용할 수 있도록 만들어져 있기 때문입니다. 행렬을 가장 잘 표현할 수 있는 표 형식으로 변수를 보여주는 것이지요. 변수 편집기 (Variable Editor)에서 우리가 만든 변수인 variable의 값을 변경하려면 엑셀에서 값을 변경해주는 것과 같지 1행 1열에 있는 10이라는 값을 원하는 값으로 바꾸어 주면 됩니다. 여기서 우리는 20으로 바꾸어 주도록 하겠습니다. 값을 20으로 바꾸자 작업 공간(Workspace)에서도 현재 값이 20으로 바꾸어진 것을 확인할 수 있습니다.

값을 20으로 변경한 variable변수

여기서 한 가지 더, 그럼 행렬 변수를 만들려면 어떻게 해야 할까요? 2x3차원의 행렬은 다음과 같이 만들 수 있습니다.

 

>> array = [10, 20, 30; 40, 50, 60]
array =

   10   20   30
   40   50   60

>>

변수에 입력해야 하는 값들을 [ ]으로 묶어서 입력하게 되면 행렬을 입력할 수 있게 됩니다. 행렬의 각 원소 값은 ', '과 ';'으로 나누어지며, ', '는 동일 column의 값들을 나타내며, ';'는 한 row를 변경한다는 뜻입니다. 그래서 위와 같이 3개의 원소 이후에 ';'를 입력하면 이후 값들은 다음 row에 입력되는 것입니다. 이렇게 만든 변수 또한 작업공간(Workspace)과 변수 편집기(Variable Editor)에서 확인 가능합니다.

행렬 변수의 생성과 Octave에서의 확인

옥타브의 기본 연산자

 옥타브에서는 여러분들이 생각하실 수 있는 모든 수식을 연산할 수 있습니다. 복잡한 연산자에 대해서 알아보기 전에, 우선 기본적으로 사용되는 연산에 대하여 알아보도록 하겠습니다.  우선은 산술 연산입니다. 더하기, 빼기, 곱하기, 나누기, 제곱과 같은 산술 연산은 다음과 같이 사용할 수 있습니다. 

>> A = 3; B = 7;
>> C = A+B
C = 10
>> D = A-B
D = -4
>> E = A*B
E = 21
>> F = A^B
F = 2187
>>

논리 연산은 다음과 같이 사용할 수 있습니다. 

>> A = true; B = false;
>> C = A && B
C = 0
>> D = A || B
D = 1
>> E = A == B
E = 0
>> F = A ~= B
F = 1
>>

Octave는 기본적으로 논리 구조를 0과 1로 표현합니다. 첫 번째 줄에 작성한 true/false는 각각 1과 0으로 이해하실 수 있습니다. 다만 논리 연산에서 0이 아닌 모든 값은 true로, 0은 false로 처리된다는 것을 꼭 기억하셔야 합니다. 위 변수에 숫자를 넣으면 그 값이 0이 아니라면 모두 true와 같이 동작하게 됩니다.

 연산을 하나씩 알아보도록 하겠습니다. '&&'는 AND연산을 의미하며, '||'은 OR 연산을 의미합니다. '=='는 같은지 나타내는 연산이며 같다면 true(1), 다르다면, false(0)을 출력합니다. ~=은 다른지 나타내는 연산이며 다르다면 true(1), 같다면 false(0)을 출력합니다. 

Octave, 옥타브 스크립트 사용하기

 옥타브를 사용하면서 명령 창에 모든 명령어들을 입력하는 것도 가능하긴 하지만, 이를 코드로 작성하여 자동화시키는 것이 더 사용적인 측면에서는 편리합니다. 반복된 명령어를 작성할 필요도 없기 때문입니다. 스크립트를 만드는 방법은 다음과 같습니다. 상단바의 메뉴에서  File -> New -> New Script를 클릭합니다.

옥타브 새 스크립트 문서 만들기, (Octave : make new  Script file)

 클릭하게 되면 에디터 (Editor)에서 <unnamed> 스크립트 문서가 생성됩니다. 이 문서에 여러분들이 필요한 코드를 작성하게 되면 한 번에 모든 코드를 실행시킬 수 있습니다. 저는 위에 있는 에시 코드들을 입력하고 basic_operation.m이라는 파일로 저장하였습니다.

옥타브 에디터 (Editor)

이제 'F5'버튼을 눌러 주시면 스크립트에 있는 모든 명령어들이 실행되어 명령 창 (Command Window)에서 나타납니다.

스크립트 실행 결과

실행은 명령 창에서 만든 스크립트 파일의 이름을 입력하셔도 가능합니다.

마무리

이렇게 Octave, 옥타브의 기본 사용법에 대하여 알아보았습니다. 그럼 다음 시간부터는 옥타브 프로그래밍을 위한 조건/반복문 등에 대하여 알아보도록 하겠습니다.