Effacer les filtres
Effacer les filtres

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

3 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Jos (10584)
Jos (10584) le 8 Mar 2019
B = cat(1,A{1,1,1,:}) % N-by-2 array
  7 commentaires
Walter Roberson
Walter Roberson le 13 Mar 2019
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 le 13 Mar 2019
temp = A{1,1,1};
B = vertcat(temp{:});

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by