Vectorized Data Extraction from Cell Array

2 ビュー (過去 30 日間)
Gabriel Stanley
Gabriel Stanley 2022 年 9 月 19 日
編集済み: Image Analyst 2022 年 9 月 20 日
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 件のコメント
Image Analyst
Image Analyst 2022 年 9 月 19 日
編集済み: Image Analyst 2022 年 9 月 20 日
@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 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! 😃


回答 (0 件)


Find more on Data Type Identification in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by