Arguments de fonction dans matlab

Fermé
Anthoooo - 3 mai 2010 à 16:35
 Yor - 6 mai 2010 à 17:13
Bonjour,

Je vous expose mon problème: J'ai créé une fonction sous matlab, mais en fonction de certains argument on a pas besoin de certains autres. Donc j'ai ma fonction :

function [max_wcoeff] = max_wcoeff(s,wname,style,scale,coeff_type)

donc on entre
- s : le signal
- wname : le nom de l'ondelette qu'on souhaite utiliser
- style : le style de traitement (continu complexe ou discret)
- scale : l'échelle
- coeff_type : le type de coefficient (détail ou approximatif)

Bon ce n'est pas nécessairement la peine de comprendre tout ce que cela signifie. Dans ces arguments, l'argument scale par exemple ne concerne que les styles complexe et continue, si on choisit le mode discret, l'échelle se calcule automatiquement (car elle est limité) donc on ne doit pas la saisir. Ensuite l'argument coeff_type ne concerne que le style discret, et ne doit donc par conséquent pas être saisi en cas de traitement continu ou complexe.

Est-il possible de jouer la dessus sur matlab?? Comment faire??

J'espère que c'est un peu compréhensible...

Merci!


1 réponse

Tu peux jouer avec varargin par exemple.

Si admettons, tu n'as besoin que de 3 paramètres en entrée de ta fonction dans le cas discret, et 4 en continu, tu peux faire quelque chose de ce genre :

if (varargin==3)
%code discret
else
%code continu
end
0