How to apply a cell array of function handles to a cell array of arguments

1 回表示 (過去 30 日間)
Jim
Jim 2016 年 8 月 2 日
コメント済み: Jim 2016 年 8 月 2 日
I have an MxN cell array fha of type conversion function handles (@double, @char, etc) that I'd like to apply element-by-element to an MxN cell array of strings x, but am struggling with the correct syntax. I've tried:
cellfun(@(s,t) s(t), fha, x, 'uni', 0)
which returns error in @(s,t)s(t) -- index exceeds matrix dimensions, and also:
cellfun(@(s,t) (s,t), fha, x, 'uni', 0)
but that's also flagged as incorrect -- possible unbalanced (, {, or [. Anyone got a clue?

回答 (1 件)

Thorsten
Thorsten 2016 年 8 月 2 日
Use nested cellfun calls
X = cellfun(@(fha_i) cellfun(fha_i, C, 'Uni', false), fha, 'Uni', false)
  1 件のコメント
Jim
Jim 2016 年 8 月 2 日
Sorry, that returns an MxN cell array of MxN cell arrays (interesting, though). But it's all good -- my 1st try worked once I gave it the right fha argument.

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

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by