Vectorized Data Extraction from Cell Array

1 回表示 (過去 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 件のコメント
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 Center および File ExchangeStructures についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by