[matlab]
matlab에서 nargin, nargout은 각각, 함수의 input parameter 개수, output parameter 개수를 담는 변수이다.
사용법은
function [o1, o2, o3, o4] = test[in1, in2]
...
nargin
nargout
...
end
이렇게 내부에서 쓰거나
함수 외부에서
nargin('test')
nargout('test')
이렇게 하면 nargin은 2, nargout 은 4가 나와야 한다.
하지만 함수 외부에서 쓰면 잘 나오는데 내부에서는 2,4가 나오지 않더라??
왜 인고 고민을 한참 해보니
내부에서 사용하면
정의된 parameter의 개수를 return해 주는게 아니라,
실제 사용하고 있는 parameter의 개수를 리턴하기 때문이었다.
즉,
[a, b] = test[11,22]
이렇게 하면
함수 내부의
nargin은 2
nargout 도 2가 된다는 말이다.
반응형