MATLAB 을 비롯한 대부분의 프로그래밍 언어들은 함수를 만들어서 사용할 수 있는데요.
MATLAB 과 유사한 수치 분석 프로그램인 Scilab 역시도 함수를 만들어서 사용할 수 있습니다.
MATLAB 을 사용해 보셨던 분이라면 Scilab 에서 함수 만들기는 너무나 쉬운데요~
함수의 정의는 다음과 같습니다.
function [a, b] = funcTest(x)
a=length(x);
b=x.*2;
endfunction
함수의 시작에는 MATLAB 과 마찬가지로 function 이라는 키워드를 적어주고~ 함수의 끝에는 endfunction이라고 적어 줍니다.
a, b 가 출력이고~ x 가 입력 인자입니다. 인자 들은 쉼표(,) 로 구분해 줘야 합니다. 함수이름은 funcTest 이고 해당 함수를 funcTest.sci 라는 파일 이름으로 적어줬습니다.
Scilab 에서는 함수는 보통 sci 확장자로 만듭니다.
2012/01/12 - [programming language/SCILAB] - SCILAB 간단 사용법
위 함수의 내용은 x 라는 입력에 대해 길이를 구해서 a 에 리턴하고~
X 에 2 배를 해서 b 에 출력하는 함수 입니다.
다음으로 위 함수를 이용하는 방법에 대해 설명 드립니다.
MATLAB 등에서는 MATLAB path 내에 함수만 있다면 그냥 바로 사용할 수 있는데 Scilab 은 그렇지 않습니다.
같은 디렉터리에 위 함수가 있어도 바로 사용할 수 없습니다.
바로 사용하려 하면 다음 그림과 같이 Undefined variable: funcTest 라는 에러를 볼 수 있는데~ funcTest () 함수는 말 그대로 정의 되지 않은 함수라는 겁니다.
Scilab 에서 함수는 항상 execution 을 해줘야 사용 할 수 있습니다.
아래 그림과 같이 세 개 중의 하나를 선택해서 실행 해주면 됩니다.
이제 방금 만들었던 funcTest () 라는 사용자 함수가 정상적으로 동작하는 것을 확인 할 수 있습니다.
다음으로 console 에서 실행 시키는 게 아닌 다른 실행 파일에서 함수를 사용할 때는 C/C++ 코드에서 include 하듯이 함수 사용 전에 execution 하는 문장을 하나 넣으면 됩니다. exec () 함수를 사용하고~ 다음과 같이 정의 합니다.
exec(path [,mode])
위 정의에서 path 는 말 그대로 execution 하고자 하는 함수의 파일 path 이고 mode 는 실행 모드를 의미 합니다.
같은 폴더 내에 있을 때는 full path 를 적지 않고 아래 실행 예처럼 함수 이름만 적어줘도 무방 합니다.
mode 는 그 실행 방법에 따라 8 가지 정도의 옵션이 있더군요.
Console 에 그 내용을 표시 할지 말지 --> 로 표시되는 프롬프트를 표시 할지 말지 와 같은 것에 대한 내용인데~
저는 주로 옵션을 안 붙이거나 -1을 붙여서 console 창에 안 나오게 하는 편입니다.
아래 두 가지 예를 보면 default 옵션에서는 그 내용이 console 에 표시 되지만~ -1 옵션을 붙이면 내용은 표시되지 않는 것을 확인 할 수 있습니다.
Console 에 결과가 표시 되도록 하기 위해 Ctrl+L 을 눌러서 실행 시켜보면 다음과 같이 정상적으로 실행되는 것을 확인 할 수 있습니다.
'programming language > SCILAB' 카테고리의 다른 글
Scilab 모든 그래프 창 닫기 (0) | 2014.06.13 |
---|---|
SCILAB 로그 스케일 그래프(Logscale Graph) (0) | 2014.06.10 |
Scilab 강좌 cell() (0) | 2014.05.23 |
Scilab 데이터 파일 로드 하기 loadmatfile (0) | 2013.12.25 |
SCILAB 초기 스크립트(Startup 파일) 설정 방법 (171) | 2013.10.03 |
SCILAB histplot() 사용법 (0) | 2013.01.15 |
SCILAB 간단 사용법 (1) | 2012.01.12 |
MATLAB 과 유사한 공학용 프로그램 SCILAB (2) | 2011.03.11 |
댓글