inputParser
기본 옵션 설정을 처리하기 위해 객체를 사용했습니다 . Matlab은 질문에 지정한 파이썬과 같은 형식을 허용하지 않지만 다음과 같이 함수를 호출 할 수 있어야합니다.
wave(a,b,n,k,T,f,flag,'fTrue',inline('0'))
다음 wave
과 같이 함수 를 정의한 후 :
function wave(a,b,n,k,T,f,flag,varargin)
i_p = inputParser;
i_p.FunctionName = 'WAVE';
i_p.addRequired('a',@isnumeric);
i_p.addRequired('b',@isnumeric);
i_p.addRequired('n',@isnumeric);
i_p.addRequired('k',@isnumeric);
i_p.addRequired('T',@isnumeric);
i_p.addRequired('f',@isnumeric);
i_p.addRequired('flag',@isnumeric);
i_p.addOptional('ftrue',inline('0'),1);
i_p.parse(a,b,n,k,T,f,flag,varargin{:});
이제 함수에 전달 된 값을 통해 사용할 수 있습니다 i_p.Results
. 또한 전달 된 매개 변수 ftrue
가 실제로 inline
함수 인지 확인하는 방법을 확신하지 못했기 때문에 유효성 검사기를 비워 두었습니다.
if nargin
정치인), 유지 관리가 쉽고 작고 유연합니다.