MATLAB 선택적 인수
이 튜토리얼에서는 MATLAB에서nargin
및varargin
속성을 사용하여 함수의 선택적 인수를 설정하는 방법에 대해 설명합니다.
MATLAB에서varargin
및nargin
속성을 사용하여 함수의 선택적 인수 설정
함수 이름의 대괄호 안에있는varargin
속성을 사용하여 함수에 원하는 수의 입력을 제공 할 수 있으며nargin
속성을 사용하여 함수에 전달 된 입력 수를 확인할 수 있습니다. 예를 들어,varargin
속성을 사용하여 임의의 수의 입력을 허용하는 함수를 만든 다음nargin
속성을 사용하여 입력 수를 가져옵니다. 아래 코드를 참조하십시오.
Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
output = nargin;
end
출력:
Number_of_inputs =
3
보시다시피 총 입력 수를 반환하는 세 개의 입력을 함수에 전달했습니다. varargin
은 필요에 따라 사용할 수있는 입력 배열을 포함합니다. 예를 들어, 입력 수를 얻은 다음for
루프를 사용하여 해당 입력을 인쇄 해 보겠습니다. 아래 코드를 참조하십시오.
Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
output = nargin;
for i=1:nargin
disp(varargin{i})
end
end
출력:
2
Hello
1 2 3
출력에서 볼 수 있듯이 입력이 표시되었습니다. 따라서 인덱스를 사용하여varargin
셀형 배열에 저장된 특정 입력을 가져온 다음 요구 사항에 따라 사용할 수 있습니다. 이러한 입력은 모두 선택 사항이지만 필수 입력을 추가하려는 경우varargin
앞에 추가 할 수 있습니다. 함수 호출 중에 필수 입력을 추가해야합니다. 그렇지 않으면 함수에서 오류가 발생합니다. 예를 들어 두 개의 필수 인수를 추가 한 다음 추가하여 출력을 가져 오면 선택적 인수가 표시됩니다. 아래 코드를 참조하십시오.
sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
output = x+y;
for i=1:nargin-2
disp(varargin{i})
end
end
출력:
1 2 3
Hello
sum =
5
출력에서 볼 수 있듯이 합계를 얻기 위해 처음 두 입력이 추가되었으며 선택적 인수가 표시됩니다. nargin
은varargin
셀형 배열에있는 입력이 아니라 총 입력 수를 제공하므로nargin
에서 2를 뺍니다. varargin
속성에 대한 자세한 정보를 얻으려면이 링크를 확인하십시오.