3

fun (a, b, c) 형식의 matlab에 함수가 있습니다.이 함수는 함수를 호출 할 때 인수 'c'를 사용하거나 제공하지 않을 수 있습니다. 나는 그 기능에서 나중에 'c'에 스위치 케이스를 사용해야하고, 따라서 사용자가 2 또는 3 개의 인수로 함수를 호출했는지 확인해야 할 필요가 있습니까?인수가 Matlab에 전달됩니다

어떻게 수행하나요?

+0

관련 : http://stackoverflow.com/questions/8630889/overloading-functions/8631335 # 8631335 –

답변

9

당신은 nargin를 사용하여 작업을 수행 할 수 있습니다

function fun(a,b,c) 

if (nargin < 3) 
    c = c_default_value; 
end 

switch c 

또는 narginvarargin (인수의 함수 정의 허가 무제한)을 사용하여 :

function fun(a,b,varargin) 

if (nargin < 3) 
    c = c_default_value; 
else 
    c = varargin{1}; 
end 

switch c