Main Content

function_handle

함수에 대한 핸들

설명

함수 핸들은 함수를 나타내는 MATLAB® 데이터형입니다. 함수 핸들의 일반적인 용도는 어느 한 함수를 다른 함수로 전달하는 것입니다. 예를 들어, 특정 범위의 값에 대해 수학 표현식을 계산하는 함수에 대한 입력 인수로 함수 핸들을 사용할 수 있습니다. 그 밖에도 함수 핸들은 일반적으로 다음과 같이 사용할 수 있습니다.

  • 콜백 함수(예: UI 이벤트에 응답하거나 데이터 수집 하드웨어와 상호 작용하는 콜백)를 지정합니다.

  • 프로그램 파일에 저장되는 대신 인라인에 정의된 함수(익명 함수)에 대한 핸들을 생성합니다.

생성

@ 연산자를 사용하여 함수 핸들을 만듭니다. 함수 핸들은 명명된 함수 또는 익명 함수를 나타낼 수 있습니다.

  • 명명된 함수 핸들은 MATLAB 함수 또는 function 키워드를 사용하여 만드는 함수를 비롯하여 기존 프로그램 파일에 있는 함수를 나타냅니다. 명명된 함수에 대한 핸들을 만들려면 @ 기호를 함수 이름 앞에 추가하십시오.

    예를 들어, sin 함수에 대한 핸들을 만든 다음 fminbnd를 사용하여 0부터 2 π 까지의 범위에서 sin(x)를 최소화하는 x의 값을 구합니다.

    f = @sin;
    m = fminbnd(f,0,2*pi);
  • 익명 함수 핸들(익명 함수라고도 함)은 하나의 출력값을 반환하는 단일 인라인 실행 가능 표현식을 나타냅니다. 익명 함수를 정의하려면 @ 연산자 바로 다음에 있는 괄호로 입력 인수 이름을 묶은 다음 실행 가능 표현식을 지정하십시오.

    예를 들어, 표현식 x2 − y2을 계산하는 익명 함수에 대한 핸들은 다음과 같이 만듭니다.

    f = @(x,y) (x.^2 - y.^2);

    익명 함수는 여러 개의 입력값을 받을 수 있지만, 출력값은 하나만 반환합니다.

예제

모두 축소

현재 폴더에 있는 파일에서, 입력값을 받아서 3차 다항식 x3+x2+x+1을 계산하는 함수 cubicPoly를 만듭니다.

function y = cubicPoly(x)
y = x.^3 + x.^2 + x + 1; 
end

0부터 1까지 cubicPoly의 적분을 구하기 위해 cubicPoly 함수에 대한 핸들을 integral에 전달합니다.

q = integral(@cubicPoly,0,1)
q = 2.0833

x의 주어진 값에 대해 3차 다항식 x3+x2+x+1을 계산하는 익명 함수에 대한 핸들 f를 만듭니다.

f = @(x) x.^3 + x.^2 + x + 1;

0부터 1까지 익명 함수의 적분을 구하려면 핸들을 integral에 전달하십시오.

q = integral(f,0,1)
q = 2.0833

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장