extracting numbers from a cell

1 visualizzazione (ultimi 30 giorni)
asim nadeem
asim nadeem il 19 Ago 2018
Commentato: asim nadeem il 20 Ago 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.

Risposta accettata

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

Più risposte (1)

Image Analyst
Image Analyst il 19 Ago 2018
Modificato: Image Analyst il 19 Ago 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