How to extract data from all matrixes of a cell array?

30 ビュー (過去 30 日間)
Yasyas9
Yasyas9 2020 年 6 月 30 日
編集済み: Stephen23 2022 年 9 月 14 日
I have a cell array 1x23 and every matrix contains 1x921600 and they're all same size but i only need to extract data from all the matrixes from array 1 until 456000 and again from 456000 until 764500. how can i do that ?

採用された回答

Adam Danz
Adam Danz 2020 年 6 月 30 日
編集済み: Adam Danz 2020 年 6 月 30 日
For cell array "C"
newArray = cellfun(@(a){{a(1,1:456000);a(1,456000:764500)}},C);
newArray = [newArray{:}];
newArray is a 2xn cell array of row vectors where row 1, newArray(1,:), are the values 1:456000 and row 2, newArray(2,:), are values 456000:764500
newArray =
2×23 cell array
Columns 1 through 3
{1×456000 double} {1×456000 double} {1×456000 double} . . . . .
{1×308501 double} {1×308501 double} {1×308501 double} . . . . .
  4 件のコメント
Yasyas9
Yasyas9 2020 年 6 月 30 日
Thank you so much yes that's exactly what i wanted
Adam Danz
Adam Danz 2020 年 6 月 30 日
Glad I could help.

サインインしてコメントする。

その他の回答 (1 件)

Reeshabh Kumar Ranjan
Reeshabh Kumar Ranjan 2020 年 6 月 30 日
By extracting data, I assume you mean accessing the elements. This seems more of a syntax question.
Let's say you have a cell array
ca = {[1 2 3], [4 5 6], [7, 8, 9]}
Now, you can just loop over it
for i = 1 : length(ca)
matrix = ca{i}
% you have the matrix in each iteration now, access its elements any way you like
end
  5 件のコメント
Evangelia Tripoliti
Evangelia Tripoliti 2022 年 9 月 14 日
This is partly true. What if you have 100 matrices in a cell array? will you name the individually?
Stephen23
Stephen23 2022 年 9 月 14 日
編集済み: Stephen23 2022 年 9 月 14 日
"This is partly true."
Exactly which part is untrue?
"What if you have 100 matrices in a cell array?"
As stated in my previous comment, I would use simple and efficient indexing into the cell array. This is not just a hypothetical situation, I do this very often (e.g. processing TB of data in thousands of files).
"will you name the individually?"
No.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by