MATLAB Answers

Converting all arrays inside a cell to tables

1 ビュー (過去 30 日間)
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.

採用された回答

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH 2020 年 2 月 9 日
newC is 40x32, each cell is a table 336x1 :
newC = cellfun(@(x) table(x(:)), C, 'uniformoutput', false)
  1 件のコメント
Behzad Navidi
Behzad Navidi 2020 年 2 月 9 日
Thank you. That exactly what I need.

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

その他の回答 (1 件)

TADA
TADA 2020 年 2 月 9 日
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 件のコメント
Behzad Navidi
Behzad Navidi 2020 年 2 月 9 日
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.

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

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by