Calling options for function handles using cellfun

6 次查看(过去 30 天)
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
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 个)

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by