我试图定义一个匿名函数,它调用返回多个输出的函数版本。具有多种输出形式的匿名函数调用函数
例如,函数find
有两种可能的输出形式:
[row,col] = find(X);
和
[ind] = find(X);
说我想选择一个匿名函数内的第一种形式。
我已经尝试 1)
get_columns = @(x) x(2);
和2)
get_columns = @(x,y) y;
但是,当我打电话:
get_columns(find(x))
的第一个版本210认为我打电话find
为[ind] = find(X)
而不是[row,col] = find(X);
,而第二个人则以"Not enough input arguments"
抱怨。
是否有触发特定输出形式的函数内的匿名函数的的方法吗?
您可以创建一个辅助函数来请求两个输出。另见http://stackoverflow.com/questions/3096281/skipping-outputs-with-anonymous-function-in-matlab – Jonas