MATLAB에서 함수를 만들어 사용하다 보면 입/출력 인자의 개수가 다른 경우에도 동일한 이름의 함수를 사용하고 싶을 때가 있다. 이때 사용할 수 있는 함수가 바로 nargin, nargout 이다. 풀어 적으면 Number of function arguments input 또는 output 이 된다. 즉 입력 또는 출력 인자의 개수란 뜻이다.
■ nargin
먼저, nargin의 경우 함수 내에서 nargin을 하게 되면 현재 함수 호출에 사용된 입력 인자의 개수를 알 수 있다.
즉 myFunction이라는 함수에 아래와 같이 입력을 하게 되면, nargin을 통해 각각 3과 4라는 값을 얻게 된다.
myFunction(a, b, c)인 경우, nrargin → 3
myFunction(a, b, c, d)인 경우, nrargin → 4
■ nargout
반대로 nargout의 경우, 함수 호출 시 출력값을 리턴할 인자의 개수를 아래와 같이 얻을 수 있다.
[a, b] = myFunction(a, b, c)인 경우, nargout → 2
[a, b, c] = myFunction(a, b, c)인 경우, nargout → 3
실제 함수에서는 아래와 유사한 형태로 사용될 수 있다.
※ nargin, nargout을 사용한 MATLAB 함수 예
function [out1, out2] = myFunction(in1, in2, in3, in4, in5)
% myFunction ...
...
if nargin < 5, in5 = 100; end
if nargin < 4, in4 = 100; end
if nargin < 3, in3 = 100; end
...
if nargout == 0
plot(in1, in2);
elseif nargout == 1
out1 = [result1 result2];
else
out1 = result1;
out2 = result2;
end
※ nargin, nargout을 사용한 MATLAB 함수 예 (실제 작성한 코드 및 결과)
더 자세한 내용은 아래 MathWorks 사이트를 참조하면 된다.
http://www.mathworks.co.kr/kr/help/matlab/ref/nargin.html
'PROGRAMMING > MATLAB' 카테고리의 다른 글
[Octave] GNU Octave 설치 (0) | 2017.03.08 |
---|---|
[MATLAB] Random Seed 지정 (0) | 2015.01.05 |
m파일 하나에 여러 개의 함수 작성 (4) | 2014.08.29 |
MATLAB 버전(version)과 릴리즈명(release name) (0) | 2014.07.11 |
MATLAB's Easter Egg (0) | 2012.08.30 |
댓글