Main Content

가변 개수의 입력값을 받는 함수 정의하기

이 예제에서는 varargin을 사용하여 가변 개수의 입력 인수를 받는 함수를 정의하는 방법을 보여줍니다. varargin 인수는 셀형 배열로, 각 입력값을 셀 요소로 분리하여 함수 입력값을 포함합니다.

plotWithTitle.m이라는 파일에 plot 함수에 대한 가변 개수의 입력값 쌍(x,y)과 제목(선택 사항)을 받는 함수를 생성합니다. 함수는 홀수 개수의 입력값을 받는 경우 마지막 입력값을 제목으로 간주합니다.

function plotWithTitle(varargin)
if rem(nargin,2) ~= 0
    myTitle = varargin{nargin};
    numPlotInputs = nargin - 1;
else
    myTitle = 'Default Title';
    numPlotInputs = nargin;
end

plot(varargin{1:numPlotInputs})
title(myTitle)

varargin이 셀형 배열이므로 각 셀의 내용에 액세스하려면 중괄호 {}를 사용해야 합니다. 구문 varargin{1:numPlotInputs}plot 함수에 대해 쉼표로 구분된 입력값 목록을 생성합니다.

두 개의 (x,y) 입력값 쌍과 하나의 제목을 사용하여 plotWithTitle을 호출합니다.

x = [1:.1:10];
y1 = sin(x);
y2 = cos(x);
plotWithTitle(x,y1,x,y2,'Sine and Cosine')

입력 인수 목록 또는 입력값 목록의 끝에 varargin만 단독으로 사용할 수 있습니다. 예를 들면 다음과 같습니다.

function myfunction(a,b,varargin)

이 경우, varargin{1}은 함수에 전달되는 세 번째 입력값에 해당하므로, narginlength(varargin) + 2를 반환합니다.

참고 항목

|

관련 예제

세부 정보