Main Content

필수 위치 인수와 선택적 위치 인수의 유효성 검사하기

위치 인수는 함수 선언에서 정의된 위치와 순서를 갖는 인수입니다. 인수 목록에서 전달된 값의 위치는 arguments 블록에 인수가 선언된 순서와 일치해야 합니다. arguments 블록의 모든 인수 이름은 고유해야 합니다.

인수가 디폴트 값을 정의하지 않는 한 함수를 호출할 때 arguments 블록의 위치 인수가 필요합니다. MATLAB®은 함수 호출에서 어떤 값도 전달되지 않을 경우 디폴트 값을 사용할 수 있기 때문에, 인수 선언에 디폴트 값을 지정하면 위치 인수가 선택 사항이 됩니다.

선택적 인수에 대한 디폴트 값 설정하기

디폴트 값은 상수이거나 인수 선언을 충족하는 결과를 생성하는 표현식이 될 수 있습니다. 표현식은 arguments 블록에서 표현식 앞에 선언된 인수를 참조할 수 있지만 표현식 뒤에 선언된 인수는 참조할 수 없습니다.

MATLAB은 함수 호출에 인수가 포함되지 않은 경우에만 디폴트 값 표현식을 실행합니다.

모든 선택적 인수는 arguments 블록에서 모든 필수 인수 뒤에 위치해야 합니다. 예를 들어, 다음 arguments 블록에서 maxvalminval은 디폴트 값을 가지므로 선택적 인수입니다.

function myFunction(x,y,maxval,minval)
    arguments
        x (1,:) double
        y (1,:) double
        maxval (1,1) double = max(max(x),max(y))
        minval (1,1) double = min(min(x),min(y))
    end

    % Function code
    ....
end

다음 구문을 사용하여 이 함수를 호출할 수 있습니다.

myFunction(x,y,maxval,minval) 
myFunction(x,y,maxval) 
myFunction(x,y) 

선택적 위치 인수는 그 위치 인수 자리 다음에 오는 인수를 식별할 수 있도록 함수 호출에서 자리를 채워야 하는 경우에는 필수 인수가 됩니다. 즉, minval에 값을 지정하려면 maxval에 값을 지정해야 합니다.

무시된 위치 인수

MATLAB에서는 인수 대신 물결표 문자(~)를 전달하여 인수를 무시할 수 있습니다. 함수 시그니처에서의 인수 위치에 대응하는 arguments 블록에서 물결표 문자(~)를 추가하여 사용되지 않는 위치 인수를 무시하는 함수를 정의할 수 있습니다. 함수 시그니처에서 무시된 각 인수에 대해 물결표 문자(~)를 추가하십시오.

무시된 인수는 디폴트 값을 가지거나 클래스, 크기 또는 유효성 검사 함수를 지정할 수 없습니다.

뒤에 필수 위치 인수가 오지 않는 한, 물결표 문자(~)는 선택적 인수로 취급됩니다. 예를 들어, 다음 함수에서 물결표 문자(~)는 선택적 인수를 나타냅니다.

function c = f(~)
    arguments
        ~
    end

    % Function code
end

인수 없이 이 함수를 호출할 수 있습니다.

c = f 

또는 하나의 인수를 사용하여 이 함수를 호출할 수 있습니다.

c = f(2)

다음 함수에서 물결표 문자(~)는 필수 인수를 나타냅니다.

function c = f(~,x)
    arguments
        ~
        x
    end

    % Function code
    ...
end

이 함수에 대한 호출에는 인수 두 개가 모두 포함되어야 합니다.

c = f(2,3)

무시된 입력값을 사용하여 함수를 호출하는 방법에 대한 자세한 내용은 함수 정의에서 입력값 무시하기 항목을 참조하십시오.

참고 항목

|

관련 항목