J'essaie de définir une fonction anonyme qui appelle une version d'une fonction qui renvoie plusieurs sorties.Fonctions anonymes appelant des fonctions avec plusieurs formulaires de sortie
Par exemple, la fonction find
a deux formes de sortie possibles:
[row,col] = find(X);
et
[ind] = find(X);
dire que je voudrais choisir la première forme à l'intérieur d'une fonction anonyme.
J'ai essayé 1)
get_columns = @(x) x(2);
et 2)
get_columns = @(x,y) y;
Mais quand je l'appelle:
get_columns(find(x))
La première version de get_columns
pense que j'appelle find
comme [ind] = find(X)
et non comme [row,col] = find(X);
, tandis que le second se plaint de "Not enough input arguments"
.
est-il un moyen de déclencher une forme de sortie spécifique d'une fonction à l'intérieur une fonction anonyme ?
Vous pouvez créer une fonction d'assistance qui demande les deux sorties. Voir aussi http://stackoverflow.com/questions/3096281/skipping-outputs-with-anonymous-function-in-matlab – Jonas