Calling options for function handles using cellfun

I am confused about how to include options from built-in functions in a cellfun command. When I attempt either of the following commands:
X_member = cellfun('ismember',AllCoordinates, X, 'rows', 'UniformOutput', false)
or
X_member = cellfun(@ismember,AllCoordinates, X, 'rows', 'UniformOutput', false)
I get this error message: Error using cellfun Too many inputs.
I want 'ismember' to operate across rows in the matrices in each cell that I have. AllCoordinates is a 20x1 cell each containing 70000x3 matrices. X is a 20x1 cell containing matrices of different row numbers, but all have 3 columns. Does anybody know how to properly structure that command? Thanks in advance!

 採用された回答

Sean de Wolski
Sean de Wolski 2012 年 5 月 2 日

0 投票

In order to use ismember with the 'rows' option, you need to build this into the function handle, not cellfun().
Something like:
cellfun(@(c,x)ismember(c,x,'rows'),AllCoordinates,X,'uni',false);

1 件のコメント

Layla
Layla 2012 年 5 月 2 日
Thanks! Is there no other way to include function options when using cellfun? I know this method of calling cellfun is the slowest of all three unfortunately (when calling a function like ismember without using any additional options).

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by