extracting numbers from a cell

1 Ansicht (letzte 30 Tage)
asim nadeem
asim nadeem am 19 Aug. 2018
Kommentiert: asim nadeem am 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.

Akzeptierte Antwort

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

Weitere Antworten (1)

Image Analyst
Image Analyst am 19 Aug. 2018
Bearbeitet: Image Analyst am 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