Accessing 1 by n array from a cell array

5 visualizzazioni (ultimi 30 giorni)
The output of the following code is the cell array poh. Is there a way to instead access the first subarray {'poh',3,4.56} through a similar command and commands to find, for example, its size?
a=[{'poh',3,4.56},{'v',5}]
a{1}

Risposta accettata

Star Strider
Star Strider il 12 Ott 2020
Modificato: Star Strider il 12 Ott 2020
The problem is that the square brackets [] concatenate the two cells to produce:
a =
1×5 cell array
{'poh'} {[3.0000e+000]} {[4.5600e+000]} {'v'} {[5.0000e+000]}
If you replace them with curly braces {}, ‘a’ becomes:
a =
1×2 cell array
{1×3 cell} {1×2 cell}
and the result of
a{1}
is:
ans =
1×3 cell array
{'poh'} {[3.0000e+000]} {[4.5600e+000]}
as desired.
With that, you can then get:
Out = cellfun(@size, a, 'Uni',0)
Out{1}
Out{2}
producing:
ans =
1 3
ans =
1 2
EDIT — (12 Oct 2020 at 13:23)
Added example results.
.

Più risposte (0)

Categorie

Scopri di più su Data Type Identification in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by