Main Content

인수 정의

가변 개수의 입력값 또는 출력값 허용, 값의 유효성 확인

MATLAB®은 데이터형이 고정되지 않은 언어이므로 대부분의 함수에는 인수 선언이나 인수의 유효성 검사가 필요하지 않습니다. 그러나 함수에 다양한 사용법이 있고 코드가 예상대로 작동하도록 하기 위해 입력값의 유형, 크기 또는 다른 측면을 확인해야 하는 경우 arguments 블록을 정의할 수 있습니다.

function z = mySharedFunction(x,y,NameValueArgs)
   arguments
      x (1,1) double     % scalar
      y double {mustBeVector,mustBePositive} 
      NameValueArgs.A string
      NameValueArgs.B string = "default"
   end 
...
end

함수

모두 확장

arguments 블록

arguments함수 인수 유효성 검사 선언

숫자형 값 유효성 검사

mustBePositiveValidate that value is positive
mustBeNonpositiveValidate that value is nonpositive
mustBeNonnegativeValidate that value is nonnegative
mustBeNegativeValidate that value is negative
mustBeFiniteValidate that value is finite
mustBeNonNanValidate that value is not NaN
mustBeNonzeroValidate that value is nonzero
mustBeNonsparseValidate that value is nonsparse
mustBeSparseValidate that value is sparse (R2023b 이후)
mustBeRealValidate that value is real
mustBeIntegerValidate that value is integer
mustBeNonmissingValidate that value is not missing (R2020b 이후)

비교

mustBeGreaterThanValidate that value is greater than another value
mustBeLessThanValidate that value is less than another value
mustBeGreaterThanOrEqualValidate that value is greater than or equal to another value
mustBeLessThanOrEqualValidate that value is less than or equal to another value

데이터형

mustBeAValidate that value comes from one of specified classes (R2020b 이후)
mustBeNumericValidate that value is numeric
mustBeNumericOrLogicalValidate that value is numeric or logical
mustBeFloatValidate that value is floating-point array (R2020b 이후)
mustBeText값이 string형 배열, 문자형 벡터, 또는 문자형 벡터로 구성된 셀형 배열인지 확인 (R2020b 이후)
mustBeTextScalar값이 한 조각의 텍스트인지 확인 (R2020b 이후)
mustBeNonzeroLengthTextValidate that value is text with nonzero length (R2020b 이후)
mustBeUnderlyingTypeValidate that value has specified underlying type (R2020b 이후)

크기

mustBeNonemptyValidate that value is nonempty
mustBeScalarOrEmptyValidate that value is scalar or empty (R2020b 이후)
mustBeVectorValidate that value is vector (R2020b 이후)
mustBeRowValidate that value is row vector (R2024b 이후)
mustBeColumnValidate that value is column vector (R2024b 이후)
mustBeMatrixValidate that value is matrix (R2024b 이후)

범위 및 집합의 멤버인지 여부

mustBeInRangeValidate that value is in the specified range (R2020b 이후)
mustBeMemberValidate that value is member of specified set

이름

mustBeFileValidate that path refers to file (R2020b 이후)
mustBeFolderValidate that input path refers to folder (R2020b 이후)
mustBeValidVariableNameValidate that input name is valid variable name (R2020b 이후)

이름-값 인수 구조체

namedargs2cellConvert structure containing name-value pairs to cell array

입력값

varargin가변 길이 입력 인수 목록
nargin함수 입력 인수의 개수
narginchk입력 인수 개수에 대한 유효성 검사

출력값

varargout가변 길이 출력 인수 목록
nargout함수의 출력 인수 개수
nargoutchkValidate number of output arguments
validateattributes배열의 유효성 검사
validatestringCheck validity of text
validatecolorValidate color values (R2020b 이후)
inputname함수 입력의 변수 이름
mfilename현재 실행 중인 코드의 파일 이름
inputParser함수의 입력값 구문 분석기

도움말 항목

인수 유효성 검사

인수 개수

무시되는 입력값

  • 함수 정의에서 입력값 무시하기
    함수가 미리 정의된 일련의 입력값을 받지만 받은 입력값을 모두 사용하지는 않는 경우, 물결표(~) 연산자를 사용하여 함수 정의에서 이러한 입력값을 무시합니다.