Vectorized Data Extraction from Cell Array

1 次查看(过去 30 天)
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 个评论
dpb
dpb 2022-9-19
Just a nit-picky note that in English, the plural of "index" is "indices"...
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 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! 😃

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by