varargout
가변 길이 출력 인수 목록
설명
varargout
은 함수 정의문의 출력 변수로, 이를 사용하면 함수가 임의 개수의 출력 인수를 반환할 수 있습니다. 소문자를 사용하여 varargout
을 지정하고, 명시적으로 선언한 출력값 다음에 마지막 출력 인수로 포함시켜야 합니다.
함수가 실행되면 varargout
은 1×N 셀형 배열이 되고, 여기서 N은 명시적으로 선언된 출력값 다음에 요청되는 출력값 개수입니다. 함수 내부에서, varargout
은 초기화되지 않은 변수이며 사전할당되지 않습니다.
예제
가변적인 개수의 함수 출력값
이름이 returnVariableNumOutputs.m
인 파일에 출력 크기 벡터 s
와 가변적인 개수의 추가 출력값을 반환하는 함수를 정의합니다.
type returnVariableNumOutputs
function [s,varargout] = returnVariableNumOutputs(x) nout = max(nargout,1) - 1; s = size(x); for k = 1:nout varargout{k} = s(k); end end
출력 s
에는 입력 배열 x
의 차원이 포함됩니다. 추가 출력값은 s
내 개별 차원에 대응합니다.
3차원 배열을 사용해 함수를 호출하고 세 개의 출력값을 요청합니다.
A = rand(4,5,2); [s,rows,cols] = returnVariableNumOutputs(A)
s = 1×3
4 5 2
rows = 4
cols = 5
4차원 배열을 사용해 함수를 다시 호출하고 네 개의 출력값을 요청합니다. 이때 함수는 네 번째 개별 차원을 반환하지 않습니다.
A = zeros(1,4,5,2); [s,dim1,dim2,dim3] = returnVariableNumOutputs(A)
s = 1×4
1 4 5 2
dim1 = 1
dim2 = 4
dim3 = 5
A
에서 함수를 한 번 더 호출하고 출력값을 하나 요청합니다. 이제 함수는 varargout
을 반환하지 않고 A
의 차원을 반환합니다.
s = returnVariableNumOutputs(A)
s = 1×4
1 4 5 2
가변적인 개수의 입력값과 출력값
이름이 variableNumInputAndOutput.m
인 파일에 가변적인 개수의 입력값과 출력값을 받는 함수를 정의합니다.
type variableNumInputAndOutput
function varargout = variableNumInputAndOutput(varargin) disp(['Number of provided inputs: ' num2str(length(varargin))]) disp(['Number of requested outputs: ' num2str(nargout)]) for k = 1:nargout varargout{k} = k; end end
입력값 2개와 출력값 3개를 포함한 함수를 호출합니다.
[d,g,p] = variableNumInputAndOutput(6,'Nexus')
Number of provided inputs: 2 Number of requested outputs: 3
d = 1
g = 2
p = 3
입력값이나 출력값 없이 함수를 다시 호출합니다.
variableNumInputAndOutput
Number of provided inputs: 0 Number of requested outputs: 0
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성의 경우, 진입점(최상위 수준) 함수에서
varargout
을 사용하려면codegen -nargout
구문을 사용하여 출력 파라미터의 개수를 지정해야 합니다.varargout
에 대한 인덱스는 컴파일타임 상수여야 합니다.
버전 내역
R2006a 이전에 개발됨
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)