how to process cell array
Show older comments
Hi guys
I have two cell arrays A, B.
A = {[1 -1 1], [2 3 6 5]};
B = {[2 1], [1 4]};
B is the index for A.
I'd like to have a certain function A(B) give me
C = {[-1 1], [2 5]}.
Aside from cellfun, Is there any other ways to do this?
Thanks,
2 Comments
Azzi Abdelmalek
on 6 Aug 2012
what do you mean B is the index of A? and how C is related to A and B
zhang
on 6 Aug 2012
Answers (1)
Honglei Chen
on 6 Aug 2012
Edited: Honglei Chen
on 6 Aug 2012
c = cellfun(@(a,b) a(b),A,B,'UniformOutput',false)
or
c = arrayfun(@(x)A{x}(B{x}),1:length(A),'UniformOutput',false)
2 Comments
Walter Roberson
on 6 Aug 2012
zhang specifically asked "aside from cellfun"
Honglei Chen
on 6 Aug 2012
Edited: Honglei Chen
on 6 Aug 2012
Added a solution with arrayfun, but I don't know if arrayfun is ok
Categories
Find more on Data Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!