MATLAB Answers

extracting numbers from a cell

1 view (last 30 days)
asim nadeem
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.

  0 Comments

Sign in to comment.

Accepted Answer

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

  1 Comment

asim nadeem
asim nadeem on 20 Aug 2018
I used cell2matrix.Thanks

Sign in to comment.

More Answers (1)

Image Analyst
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

Community Treasure Hunt

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

Start Hunting!

Translated by