Main Content

functions

함수 핸들 관련 정보

설명

예제

s = functions(fh)는 함수 핸들에 대한 정보를 반환합니다. 이 정보에는 함수 이름, 유형, 파일 이름이 포함됩니다.

functions 함수는 쿼리 및 디버그 용도로만 사용하십시오.

참고

이 함수의 동작은 후속 MATLAB® 릴리스에서 변경될 수 있으므로 프로그래밍 방식으로 functions를 사용하지 마십시오.

예제

모두 축소

함수 핸들을 만들고 이 함수 핸들의 정보를 표시합니다.

fh = @cos;
s = functions(fh)
s = struct with fields:
    function: 'cos'
        type: 'simple'
        file: ''

익명 함수의 함수 핸들을 만듭니다. 함수 핸들의 정보와 필수 변수의 값을 표시합니다.

함수 x2 + y의 핸들을 만들고 이 핸들을 사용하여 함수를 불러옵니다.

y = 7;
fh = @(x)x.^2+y;
z = fh(2)
z =

    11

함수 핸들에 대한 정보를 표시합니다.

s = functions(fh)
s = 

            function: '@(x)x.^2+y'
                type: 'anonymous'
                file: ''
           workspace: {[1x1 struct]}
    within_file_path: '__base_function'

함수 핸들에 y의 필수 값이 포함됩니다.

s.workspace{1}
ans = 

    y: 7

로컬 함수와 중첩 함수의 핸들을 반환하는 함수를 만듭니다. 이들 정보를 표시합니다.

현재 작업 폴더에 파일 functionsExample.m으로 다음 함수를 만듭니다. 이 함수는 중첩 함수와 로컬 함수에 대한 핸들을 반환합니다.

function [hNest,hLocal] = functionsExample(v)

hNest = @nestFunction;
hLocal = @localFunction;

    function y = nestFunction(x)
        y = x + v;
    end

end

function y = localFunction(z)
y = z + 1;
end

함수를 불러옵니다.

[hNest,hLocal] = functionsExample(13)
hNest = 

    @functionsExample/nestFunction


hLocal = 

    @localFunction

중첩 함수 핸들에 대한 정보를 표시합니다.

s1 = functions(hNest)
s1 = 

     function: 'functionsExample/nestFunction'
         type: 'nested'
         file: 'C:\work\functionsExample.m'
    workspace: {[1x1 struct]}

로컬 함수 핸들에 대한 정보를 표시합니다.

s2 = functions(hLocal)
s2 = 

     function: 'localFunction'
         type: 'scopedfunction'
         file: 'C:\work\functionsExample.m'
    parentage: {'localFunction'  'functionsExample'}

입력 인수

모두 축소

쿼리할 핸들로, 함수 핸들로 지정됩니다.

출력 인수

모두 축소

함수 핸들에 대한 정보로, 구조체로 반환됩니다. 구조체는 다음 필드를 포함합니다.

필드 이름

필드 설명

function

함수 이름입니다. 핸들과 연결된 함수가 중첩 함수인 경우 함수 이름의 형식은 main_function/nested_function입니다.

type

함수 유형입니다. 예를 들어 'simple', 'nested', 'scopedfunction', 'anonymous' 중 하나입니다.

file

함수에 대한 전체 경로로, 파일 확장자를 포함합니다.

  • 함수가 로컬 함수나 중첩 함수인 경우 file은 메인 함수에 대한 전체 경로입니다.

  • 함수가 MATLAB 내장 함수인 경우 file은 빈 문자형 배열('')입니다.

  • 함수가 익명 함수이고 명령줄에서 또는 MATLAB 경로에 있지 않은 파일에서 정의된 경우 file은 빈 문자형 배열('')입니다.

  • 함수가 익명 함수이고 MATLAB 경로에 있는 파일에서 정의된 경우 file은 파일에 대한 전체 경로입니다.

  • 저장된 함수 핸들을 불러오는 경우 file은 빈 문자형 배열('')입니다.

구조체는 핸들과 연결된 함수의 유형에 따라 추가 필드를 가집니다. 예를 들어, 로컬 함수는 parentage 필드를 가지고 익명 함수는 workspace 필드를 가집니다. s의 정보는 쿼리 및 디버그 용도로만 사용하십시오.

확장 기능

버전 내역

R2006a 이전에 개발됨