Arguments facultatifs de MATLAB
Dans ce tutoriel, nous allons discuter de la façon de définir les arguments optionnels d’une fonction en utilisant les propriétés nargin
et varargin
dans MATLAB.
Définir les arguments facultatifs d’une fonction en utilisant les propriétés varargin
et nargin
dans MATLAB
Vous pouvez donner n’importe quel nombre d’entrées à une fonction en utilisant la propriété varargin
entre crochets du nom de la fonction, et vous pouvez vérifier le nombre d’entrées passées à la fonction en utilisant la propriété nargin
. Par exemple, créons une fonction qui accepte n’importe quel nombre d’entrées en utilisant la propriété varargin
puis obtenons le nombre d’entrées en utilisant la propriété nargin
. Voir le code ci-dessous.
Number_of_inputs = sample(2,1,1)
function output = sample(varargin)
output = nargin;
end
Production:
Number_of_inputs =
3
Comme vous pouvez le voir, nous avons passé trois entrées dans la fonction, qui renvoie le nombre total d’entrées. La varargin
contient un tableau des entrées que vous pouvez utiliser selon vos besoins. Par exemple, obtenons le nombre d’entrées puis imprimons ces entrées en utilisant une boucle for
. Voir le code ci-dessous.
Number_of_inputs = sample(2,'Hello',[1,2,3]);
function output = sample(varargin)
output = nargin;
for i=1:nargin
disp(varargin{i})
end
end
Production:
2
Hello
1 2 3
Comme vous pouvez le voir dans la sortie, les entrées ont été affichées. Vous pouvez donc utiliser l’index pour obtenir une entrée spécifique enregistrée dans le tableau de cellules varargin
et les utiliser ensuite selon vos besoins. Toutes ces entrées sont optionnelles, mais si vous souhaitez ajouter des entrées obligatoires, vous pouvez les ajouter avant le varargin
. Notez que vous devez ajouter les entrées obligatoires lors de l’appel de fonction; sinon, la fonction donnera une erreur. Par exemple, ajoutons deux arguments obligatoires, puis ajoutons-les pour obtenir la sortie, et les arguments facultatifs seront affichés. Voir le code ci-dessous.
sum = sample(2,3,[1,2,3],'Hello')
function output = sample(x,y,varargin)
output = x+y;
for i=1:nargin-2
disp(varargin{i})
end
end
Production:
1 2 3
Hello
sum =
5
Comme vous pouvez le voir dans la sortie, les deux premières entrées ont été ajoutées pour obtenir la somme et les arguments facultatifs sont affichés. Notez que nous avons soustrait deux de nargin
car nargin
donne le nombre total d’entrées, pas les entrées présentes dans le tableau de cellules varargin
. Cochez ce lien pour obtenir plus d’informations sur la propriété varargin
.