Trimming matrices to smallest size

3 visualizzazioni (ultimi 30 giorni)
Prodip Das
Prodip Das il 16 Ago 2019
Modificato: Prodip Das il 16 Ago 2019
Hello,
I need to find a way to automate this process.
I have a 1-by-8 cell, which consists of 8 3D matrices. Each matrix is approximately n x m x p in size. I need to make them exactly n x m x p by trimming the highest end.
Details -
S is a 1 by 8 cell
where each cell element is supposed to be n x m x p. There are (can be) cell elements which can go (n+1) x m x p or n x (m+1) x p. etc.
I need to identify the matrix with smallest dimension on each end (n x m x p) and trim the rest 7 if needed to this value.
Any leads appreciated.
Thanks!

Risposta accettata

Walter Roberson
Walter Roberson il 16 Ago 2019
minsize = min(cell2mat(cellfun(@size, S(:), 'uniform', 0)));
newS = cellfun(@(M) M(1:minsize(1), 1:minsize(2), 1:minsize(3)), S, 'uniform', 0);

Più risposte (1)

Prodip Das
Prodip Das il 16 Ago 2019
Modificato: Prodip Das il 16 Ago 2019
That works perfectly well and is so self-explanatory!
Thanks Walter.

Categorie

Scopri di più su Automotive in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by