我試圖定義一個匿名函數,它調用返回多個輸出的函數版本。具有多種輸出形式的匿名函數調用函數
例如,函數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