J'ai utilisé le inputParser
pour traiter de la définition des options par défaut. MATLAB n'acceptera pas le format de type Python que vous avez spécifié dans la question, mais vous devriez être en mesure d'appeler la fonction comme ceci :
wave(a, b, n, k, T, f, flag, 'fTrue', inline('0'))
Après avoir défini le wave
comme ceci :
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{:});
Maintenant, les valeurs passées dans la fonction sont disponibles par l'intermédiaire de i_p.Results
. De plus, je n'étais pas sûr de savoir comment valider que le paramètre passé pour ftrue
était en fait un inline
donc j'ai laissé le validateur vide.