How to extract cell element from a multi-dimensional cell?

Hi all,
I have a multi-dimensional cell like this:
size(respPreStore)
ans =
1 2 5 2
where each cell element is a 1*3 cell:
respPreStore{1, 1, 1, 1}
ans =
[12x2 double] [2x2 double] [4x2 double]
Now I only want all the third part in the cell, which is the 4*2 double, and store them in another cell. I tried to do this:
respPreStore{:, :, :, :}(1, 3)
MATLAB gives me error:
Expected one output from a curly brace or dot indexing expression, but there were 20 results.
Can anyone tell me how to extract these?

 Accepted Answer

cellfun({@(c)c(1,3),respPreStore)
or
cellfun({@(c)c{1,3},respPreStore,'UniformOutput',false)

1 Comment

Hi Stephen,
Thanks! I was thinking about using cellfun but I thought there were more straightforward ways like directly manipulating arrays.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 9 Jan 2017

Commented:

on 9 Jan 2017

Community Treasure Hunt

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

Start Hunting!