Estoy tratando de definir una función anónima que llama a una versión de una función que devuelve múltiples salidas.Funciones de llamada de funciones anónimas con formularios de salida múltiple
Por ejemplo, la función find
tiene dos formas posibles de salida:
[row,col] = find(X);
y
[ind] = find(X);
decir que me gustaría elegir la primera forma en el interior de una función anónima.
He tratado 1)
get_columns = @(x) x(2);
y 2)
get_columns = @(x,y) y;
Pero cuando llame:
get_columns(find(x))
La primera versión de get_columns
cree que estoy llamando al find
como [ind] = find(X)
y no como [row,col] = find(X);
, mientras que el segundo se queja con "Not enough input arguments"
.
¿Hay una manera de desencadenar una forma salida específica de una función dentro una función anónima ?
Puede crear una función auxiliar que solicite ambas salidas. Ver también http://stackoverflow.com/questions/3096281/skipping-outputs-with-anonymous-function-in-matlab – Jonas