Concatenating a 3D matrix in the 3rd dimension when some cells are empty

3 ビュー (過去 30 日間)
Meg Carr
Meg Carr 2019 年 3 月 8 日
コメント済み: Walter Roberson 2019 年 3 月 13 日
I have a 3D cell array 'A' of size 120 x 180 x 365 (latitude, longitude, day of year).
If I call up a single cell (e.g. A(1,1,1)), this opens matrix 'B' which has two columns (vessel identity, speed), but the number of rows varies by cell. Some cells do not contain any data and display [ ] instead of a B matrix.
I need to make one B matrix that displays all the vessel identities and speeds for A(1,1,1:365)
How can I vertically concatenate matrix B in the third dimension?
Thank you for your help.

採用された回答

Jos (10584)
Jos (10584) 2019 年 3 月 8 日
B = cat(1,A{1,1,1,:}) % N-by-2 array
  7 件のコメント
Walter Roberson
Walter Roberson 2019 年 3 月 13 日
You said that opening up a single element A(1,1,1) results in a B matrix with two columns. But A{1,1,1} is returning a 1 x 18 cell array. There is a contradiction here.
Walter Roberson
Walter Roberson 2019 年 3 月 13 日
temp = A{1,1,1};
B = vertcat(temp{:});

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

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by