extracting numbers from a cell

1 view (last 30 days)
asim nadeem on 19 Aug 2018
Commented: asim nadeem on 20 Aug 2018
SP={{{1,4,5,6},{2},{3}}}
SP =
1×1 cell array
{1×3 cell}
d=SP{1}
d =
1×3 cell array
{1×4 cell} {1×1 cell} {1×1 cell}
d{1}
ans =
1×4 cell array
{[1]} {[4]} {[5]} {[6]}
I want d{1} to be
1 4 5 6
to be able to use these as indices of a matrix.

Paolo on 19 Aug 2018
d = SP{:}
>>[d{1}{:}]
1 4 5 6

1 Comment

asim nadeem on 20 Aug 2018
I used cell2matrix.Thanks

Image Analyst on 19 Aug 2018
Edited: Image Analyst on 19 Aug 2018
This will do it
SP={{{1,4,5,6},{2},{3}}}
d=SP{1}
d{1} = [d{1}{:}]
but that is a really crazy number storage and I don't recommend it at all. You have a single cell SP with another single cell in side of it. Then inside that cell is a 3-by-1 cell array. Then each of the 3 cells in the interior cell array is also a cell, instead of just a regular number. Could you possibly make it any more complicated?
First of all, you should read the FAQ to learn how to use cell arrays: click here
Then you should set it up like this:
SP={[1,4,5,6], [2], [3]}
Then you can say
d1 = SP{1}
d2 = SP{2}
d3 = SP{3}
if you want separate arrays with contents of each cell of SP for convenience in referring to them

1 Comment

asim nadeem on 20 Aug 2018
Thanks