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속성에 대한 자세한 정보를 얻으려면이 링크를 확인하십시오.
