Effacer les filtres
Effacer les filtres

Converting all arrays inside a cell to tables

2 vues (au cours des 30 derniers jours)
BN
BN le 9 Fév 2020
Commenté : BN le 9 Fév 2020
Hello
I have a 40 x 32 cell named C. Each element in C has a dimension of 1 x 1 x 336. I want to keep C as a cell but converting every array in it to a table. In fact, I don't want first and second dimension (1 x 1), I just need 336 values. I want to have these values as a column. I attach C. I would like the output is a cell (40 x 32) with 336 x 1 table inside each cell.
Thank you so much.

Réponse acceptée

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH le 9 Fév 2020
newC is 40x32, each cell is a table 336x1 :
newC = cellfun(@(x) table(x(:)), C, 'uniformoutput', false)
  1 commentaire
BN
BN le 9 Fév 2020
Thank you. That exactly what I need.

Connectez-vous pour commenter.

Plus de réponses (1)

TADA
TADA le 9 Fév 2020
c = repmat({(1:10)'}, 3,3)
c =
3×3 cell array
Columns 1 through 2
{10×1 double} {10×1 double}
{10×1 double} {10×1 double}
{10×1 double} {10×1 double}
Column 3
{10×1 double}
{10×1 double}
{10×1 double}
c = cellfun(@table, c, 'uniformoutput', false)
c =
3×3 cell array
Columns 1 through 2
{10×1 table} {10×1 table}
{10×1 table} {10×1 table}
{10×1 table} {10×1 table}
Column 3
{10×1 table}
{10×1 table}
{10×1 table}
  1 commentaire
BN
BN le 9 Fév 2020
Dear TADA,
Thank you for your answer. I use this:
C = cellfun(@table, C, 'uniformoutput', false)
But unfortunately, it gained me 1 x 1 tables, and I missed 336 values of each cell.
Capture.JPG
When I click on one of them:
Capture2.JPG
I don't know what should I do, I need 336x1 tables in a cell.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by