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

2 Ansichten (letzte 30 Tage)
Jim
Jim am 2 Aug. 2016
Kommentiert: Jim am 2 Aug. 2016
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?

Antworten (1)

Thorsten
Thorsten am 2 Aug. 2016
Use nested cellfun calls
X = cellfun(@(fha_i) cellfun(fha_i, C, 'Uni', false), fha, 'Uni', false)
  1 Kommentar
Jim
Jim am 2 Aug. 2016
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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by