Check for optional inputs in a function using exist

19 vues (au cours des 30 derniers jours)
Haris K.
Haris K. le 28 Oct 2020
Hi everyone. Is it wrong, prone to mistakes, or slower to check the existance of optional arguments in a function using exist()? For the purposes of the illustration, assume I have 2 required and 1 optional inputs named r1,r2 and op1, respectively.
function y = mafun(r1,r2,op1)
if ~(exist('op1', 'var')==1)
op1 = 'smthn';
end
%do smthn with r1,r2 and op1 (when needed)
end
  1 commentaire
Walter Roberson
Walter Roberson le 28 Oct 2020
if ~exist('op1', 'var')
op1 = 'smthn';
end
would be cleaner.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 28 Oct 2020
I suspect that it is faster to check nargin.
Note: starting R2019b, it is possible to use an "arguments" block to do automatic default values.

Plus de réponses (0)

Catégories

En savoir plus sur Test Model Components dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by