Vectorized Data Extraction from Cell Array

1 visualizzazione (ultimi 30 giorni)
Gabriel Stanley
Gabriel Stanley il 19 Set 2022
Modificato: Image Analyst il 20 Set 2022
I have a Nx1 cell array wherein each cell is a #x2 double array (i.e. each array within the cell is of variable length). CellArray{n}(:,1) contains a list of data indecis, while CellArray{n}(:,2) contains values associated with those indecis. I want to get a unique list of all values in that first column from all cells, then perform operations on each value associated with a given data indexi accross all cells, e.g.:
Indecis = unique(CellArray{:}(:,1))
Results = mean(CellArray{:}(Indecis,2))
The above is, of course, not proper MatLab syntax, but I hope it conveys what I'm trying to do. I can achive this rather simply by using cell2mat,
DataMatrix = cell2mat(CellArray);
But whos is telling me that DataMatrix is waaaaaaay bigger than CellArray. As such, I'd like to know if there is a less data/processor intensive way to do this (e.g. cellfun with an annonymous function handle?).
  4 Commenti
dpb
dpb il 19 Set 2022
Just a nit-picky note that in English, the plural of "index" is "indices"...
Image Analyst
Image Analyst il 19 Set 2022
Modificato: Image Analyst il 20 Set 2022
@dpb the language has evolved since you and I were young. I think the "ices" may have been a holdover from Latin but now "indexes" has evolved into a perfectly acceptable plural of index. See https://www.dictionary.com/browse/index So both "indices" and "indexes" are correct, however, "indecis" is not correct.
I've also heard that "whom" is going away, in favor of a simpler "who", and maybe considered almost archaic in a few decades, if not already.
Speaking of simplification:
Yay for simpler! 😃

Accedi per commentare.

Risposte (0)

Categorie

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

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by