localfunctions
MATLAB 파일의 모든 로컬 함수에 대한 함수 핸들
설명
fcns = localfunctions
는 현재 파일의 모든 로컬 함수에 대한 함수 핸들로 구성된 셀형 배열 fcns
를 반환합니다.
명령줄 또는 익명 함수의 컨텍스트에서는 로컬 함수를 정의할 수 없습니다. 따라서 이러한 컨텍스트에서 localfunctions
를 호출하면 빈 셀형 배열이 반환됩니다. localfunctions
는 셀형 배열로 반환 시, 함수 핸들을 정의되지 않은 순서로 반환합니다.
예제
함수 파일의 로컬 함수에 대한 핸들 만들기
현재 작업 폴더에 파일 computeEllipseVals.m
으로 다음 함수를 만듭니다. 이 함수는 모든 로컬 함수에 대한 핸들로 구성된 셀형 배열을 반환합니다.
function fh = computeEllipseVals fh = localfunctions; end function f = computeFocus(a,b) f = sqrt(a^2-b^2); end function e = computeEccentricity(a,b) f = computeFocus(a,b); e = f/a; end function ae = computeArea(a,b) ae = pi*a*b; end
명령 프롬프트에서 함수를 불러와서 로컬 함수에 대한 핸들로 구성된 셀형 배열을 가져옵니다.
fh = computeEllipseVals
fh = 3x1 cell array { @computeFocus} {@computeEccentricity} { @computeArea}
핸들을 사용해 로컬 함수를 호출하여 타원의 면적을 계산합니다. computeArea
함수 핸들은 셀형 배열의 세 번째 요소입니다.
fh{3}(3,1)
ans = 9.4248
스크립트 파일의 로컬 함수에 대한 핸들 만들기
R2016b에서는 스크립트에 로컬 함수를 포함시킬 수 있습니다. 따라서 localfunctions
함수를 사용하여 스크립트나 명령 프롬프트에서 불러올 수 있는 함수 핸들을 만들 수 있습니다.
현재 작업 폴더에 파일 mystats.m
으로 다음 스크립트를 만듭니다. 이 스크립트는 모든 로컬 함수에 대한 핸들로 구성된 셀형 배열을 만듭니다.
x = [1 3 5 7 9 10 8 6 4 2 0 -2]; avg = mymean(x) fh = localfunctions; med = fh{2}(x) % equivalent to med = mymedian(x,n) function a = mymean(v) n = length(v); a = sum(v)/n; end function m = mymedian(v) n = length(v); w = sort(v); if rem(n,2) == 1 m = w((n + 1)/2); else m = (w(n/2) + w(n/2 + 1))/2; end end
스크립트를 실행합니다. MATLAB®은 mymean 로컬 함수를 직접 불러와 평균을 계산하고 함수 핸들을 통해 mymedian
로컬 함수를 불러와 중앙값을 계산합니다.
mystats
avg = 4.4167 med = 4.5000
명령 프롬프트에서 핸들을 사용하여 mymean
로컬 함수를 호출합니다. 명령 프롬프트에서 스크립트의 변수에 액세스할 수 있습니다. mymean
함수 핸들은 셀형 배열의 첫 번째 요소입니다.
x2 = [1 1 2 6 24 120 720 5040]; fh avg2 = fh{2}(x2)
fh = 2x1 cell array { @mymean} {@mymedian} avg2 = 15
버전 내역
R2013b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)