MATLAB Answers

0

extracting numbers from a cell

Asked by asim nadeem on 19 Aug 2018
Latest activity Commented on by 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.

2 Answers

Answer by Paolo
on 19 Aug 2018
 Accepted Answer

d = SP{:}
>>[d{1}{:}]
1 4 5 6

  1 Comment

I used cell2matrix.Thanks

Sign in to comment.


Answer by Image Analyst
on 19 Aug 2018
Edited by 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

Sign in to comment.